在项目开发过程中,我们经常需要将一些公共方法提取出来,然后单独封装成一个第三方公共jar包,采用普通的方式打包后的jar,依赖的工程执行编译时,却提示找不到对应的依赖包,那么如何将工程打包为可执行jar包呢?
下面向大家介绍三种通过maven将工程打包成可执行的打包方式。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.example.java
example-frame-fatJar
1.0.0
.....
sso-api
org.apache.maven.plugins
maven-compiler-plugin
3.2
1.7
UTF-8
org.apache.maven.plugins
maven-assembly-plugin
2.6
jar-with-dependencies
UTF-8
make-assembly
package
single
mvn clean package
会在target文件夹里生成一个jar-with-dependencies的jar是可执行的。
在带有jar-with-dependencies的jar文件下,打开终端,输入如下命令
#验证jar是否可执行,如果没有报错,说明没有问题
java -jar xxx-jar-with-dependencies.jar
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.example.java
example-frame-fatJar
1.0.0
......
sso-api
org.apache.maven.plugins
maven-compiler-plugin
3.2
1.7
UTF-8
org.apache.maven.plugins
maven-shade-plugin
2.4.1
package
shade
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
com.xxg.Main
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
META-INF/spring.handlers
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
META-INF/spring.schemas
mvn clean package
发现生成了2个jar包,一个为:original-XXX.jar,另一个为:XXX.jar,其中original...jar里只包含了工程自己的class文件,而另外的一个jar包则包含了工程本身以及所有依赖的jar包的class文件。我们只需要使用第二个jar包就可以了。
在XXX.jar文件下,打开终端,输入如下命令
#验证jar是否可执行,如果没有报错,说明没有问题
java -jar XXX.jar
不同点:shade可以将多个相同的配置文件追加合并,比如,多个子项目下有相同的配置文件,shade在打包的时候,会将相同的配置文件合并。
1、打开eclipse,打开菜单help > Install New Sofware > Add...
name:FatJar
URL:http://kurucz-grafika.de/fatjar
根据提示下载安装并重启eclipse!
在使用Eclipse进行导出时,点击项目右键,在弹出的右键菜单中选择Build Fat Jar, 打开配置Fat Jar弹出框;或者,项目右键,点击Export,然后在打开的Export选择框中选择Other下面的Fat Jar Exporter, 选择需要导出的项目,点击下一步打开配置Fat Jar弹出框。
在XXX.jar文件下,打开终端,输入如下命令
#验证jar是否可执行,如果没有报错,说明没有问题
java -jar XXX.jar
本文主要围绕如何将工程打包可执行的第三方jar进行方法介绍,如果有描述不对的地方,欢迎网友批评指出!
网站栏目:如何利用Maven将代码打包成第三方公共Jar包?
当前链接:http://www.shufengxianlan.com/qtweb/news22/374822.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联