这篇文章将为大家详细讲解有关怎么使用maven生成可以执行的jar,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
maven如何生成可以执行的罐子吗?
pom中不包含任何引用的情况下,只需要在pom中添加<代码> maven-jar-plugin> 代码即可。
<强>解决过程强>
新建项目,仅包含一个主要函数类:细细。java、输出<代码>细细说:你好代码>
pom中配置为
& lt; groupId> com.paxi ,& lt; artifactId> xixi ,& lt; version> 1.0 -snapshot ,& lt; packaging> jar ,& lt; name> xixi ,& lt; url> http://maven.apache.org</url> ,& lt; properties> & lt;才能project.build.sourceEncoding> UTF-8</project.build.sourceEncoding> ,& lt;/properties>
执行<代码> mvn全新安装代码>生成jar包<代码>细细- 1.0 -快照。jar 代码>执行jar命令,执行反馈出错
,java 细细-jar 1.0 - snapshot.jar 细细- 1.0 -快照。jar中没有主清单属性
对jar进行解压缩jar xvf细细- 1.0 - snapshot.jar查看对应文件清单。MF
,cat meta - inf/manifest . MF Manifest-Version: 1.0 Archiver-Version: Plexus 文档 由:paxi 由:Apache Maven  3.3.3 Build-Jdk: 1.8.0_121
在pom中添加插件<代码> maven-jar-plugin 代码>
& lt; build> & lt;才能plugins> ,,& lt; plugin> ,,,& lt; groupId> org.apache.maven.plugins ,,,& lt; artifactId> maven-jar-plugin ,,,& lt; version> 3.1.0 ,,,& lt; configuration> ,,,,& lt; archive> ,,,,,& lt; manifest> ,,,,,,& lt; mainClass> com.paxi.Xixi ,,,,,& lt;/manifest> ,,,,& lt;/archive> ,,,& lt;/configuration> ,,& lt;/plugin> & lt;才能/plugins> ,& lt;/build>
执行成功输出
, java jar细细- 1.0 -快照。jar
引用>
细细说:你好
再对解压缩后的清单。曼氏金融文件查看为
, cat meta - inf/manifest . MF Manifest-Version: 1.0 由:paxi 由:Apache Maven  3.3.3 Build-Jdk: 1.8.0_121 主类:com.paxi.Xixi //新增<强>在pom中添加依赖,maven如何生成可执行罐子吗?强>
需要使用插件maven-dependency-plugin和maven-jar-plugin。
<强>解决过程强>
在pom中仅仅增加一个apache commons包
& lt; groupId> com.paxi ,& lt; artifactId> xixi ,& lt; version> 1.0 -snapshot ,& lt; packaging> jar ,& lt; name> xixi ,& lt; url> http://maven.apache.org</url> ,& lt; properties> & lt;才能project.build.sourceEncoding> UTF-8</project.build.sourceEncoding> ,& lt;/properties> ,& lt; dependencies> ,,& lt; dependency> ,,,& lt; groupId> org.apache.commons ,,,& lt; artifactId> commons-lang3 ,,,& lt; version> 3.7 & lt;/version> & lt;才能/dependency> ,& lt;/dependencies>在代码中运用常见的包中的一个类
, public static void main (String [], args), { ,,,String words =,“Xixi 说:,hello"; ,,,if (StringUtils.isNotBlank(单词) ,,,{ ,,,,,System.out.println(单词); ,,,} 以前,,}>打包后直接运行出错
, java jar细细- 1.0 -快照。jar
引用>
异常的线程“main". lang。NoClassDefFoundError: org/apache/commons/lang3/StringUtils
,,,在com.paxi.Xixi.main (Xixi.java: 11)
:引起. lang。ClassNotFoundException: org.apache.commons.lang3.StringUtils
,,,java.net.URLClassLoader.findClass (URLClassLoader.java: 381)
,,,java.lang.ClassLoader.loadClass (ClassLoader.java: 424)
,,,sun.misc.Launcher AppClassLoader.loadClass美元(Launcher.java: 331)
,,,java.lang.ClassLoader.loadClass (ClassLoader.java: 357)
,,,…1
在pom中增加插件
& lt; build> & lt;才能plugins> ,,& lt; plugin> ,,,& lt; groupId> org.apache.maven.plugins ,,,& lt; artifactId> maven-jar-plugin ,,,& lt; version> 3.1.0 ,,,& lt; configuration> ,,,,& lt; archive> ,,,,,& lt; manifest> null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null怎么使用maven生成可以执行的jar