有时候需要用Java开发一些数据库操作的小工具,例如第三方数据的导入导出,每次写完工具发给别人用,还得把源码发过去,感觉这样很愚蠢。于是想起来打包。
idea下
在pom中添加
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId> maven-assembly-plugin </artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.hifee.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
在mainClass填入入口入口方法所在的类。
点击右侧的Maven Projects窗口,找到Lifecycle,点击package就可以打包了,打包完成后在target目录下可以找到jar包,分别是带依赖包的jar和不带依赖包的jar。
eclipse下
eclipse写代码比idea舒服,但是没有idea智能和强大。
在pom.xml中添加
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifest>
<!-- 我运行这个jar所运行的主类 -->
<mainClass>com.hifee.tools.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>
<!-- 必须是这样写 -->
jar-with-dependencies
</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
然后鼠标右击项目,Run as Maven Build...
在Goals中填入参数 assembly:assembly
打包完成后,刷新一下工程就可以看到target下的jar包了。
然后就可以愉快的执行java -jar ...