一、打包
1、使用eclipse自带的export无法将所有的依赖的包(暂时未发现方法)
2、使用maven进行打包可将所有依赖包进行包装,但需要在pom文件中进行配置
在dependencies的同级增加如下两个节点
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.ctrip.you.replace.service.ReplaceMain</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
该配置参考:http://www.cnblogs.com/lxzh/archive/2012/10/17/2727107.html
3、运行
二、包内资源访问
当将文件等资源打入jar包后,不能使用普通的File操作方式进行访问
在获取conf目录下的loadConfig.properties文件需要使用如下方式
ReplaceMain.class.getResourceAsStream("/conf/loadConfig.properties")
如果使用如下方式,将会报告文件无法找到的异常
String filePath =
ReplaceMain.class.getResource("/conf/loadConfig.properties").getPath();
File
file = new File(filePath);