本篇文章主要介绍了"使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖",主要涉及到plugin,shade方面的内容,对于软件工程感兴趣的同学可以参考一下:
前半部分转自:http://www.xuebuyuan.com/1500726.html现在基本上都是采用maven来进行开发管理,我有一个需求是需要把通过ma...
前半部分转自:http://www.xuebuyuan.com/1500726.html
现在基本上都是采用maven来进行开发管理,我有一个需求是需要把通过maven管理的java工程打成可执行的jar包,这样也就是说必需把工程依赖的jar包也一起打包。而使用maven默认的package命令构建的jar包中只包括了工程自身的class文件,并没有包括依赖的jar包。我们可以通过配置插件来对工程进行打包,pom具体配置如下:
maven-assembly-plugin (使用此插件会有一些问题)
maven-assembly-plugin
false
jar-with-dependencies
com.chenzhou.examples.Main
make-assembly
package
assembly
其中的值表示此工程的入口类,也就是包含main方法的类,在我的例子中就是com.chenzhou.examples.Main。配置完pom后可以通过执行mvn assembly:assembly命令来启动插件进行构建。构建成功后会生成jar包,这样我们就可以在命令行中通过java -jar XXX.jar来运行jar件了。
不过使用此插件会有一些问题:我在工程中依赖了spring框架的jar包,我打包成功后使用命令来调用jar包时报错如下(内网环境):