Intellij Java 2016和Maven:如何在JAR中嵌入依赖项?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Intellij Java 2016和Maven:如何在JAR中嵌入依赖项?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1624字,纯文字阅读大概需要3分钟。
内容图文
![Intellij Java 2016和Maven:如何在JAR中嵌入依赖项?](/upload/InfoBanner/zyjiaocheng/701/24766c45118c45d184b55b571e981b46.jpg)
参见英文答案 > How can I create an executable JAR with dependencies using Maven? 34个
我正在使用Intellij Java 2016.2.2和Maven来创建一个非常简单的Java控制台应用程序.
我想添加一个外部库,所以我在Maven中添加我的依赖项,如下所示:
<dependency>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
<version>2.12</version>
</dependency>
它在IDE中运行时工作正常,但在外部控制台中没有(我有以下错误:java.lang.NoClassDefFoundError).
我检查过,由于某种原因,我刚刚生成的JAR中没有添加外部JAR.我还在“文件 – >项目结构”中尝试了很多东西,但仍然没有工作……
我只想用我的依赖项构建我的JAR,所以我可以使用以下命令在控制台中运行我的应用程序:
java -jar myproject.jar
我怎样才能做到这一点?谢谢你的帮助!
解决方法:
我终于设法使用Intellij Java生成这个JAR,这是我的工作方式:
>在pom.xml文件中添加依赖项
>转到文件 – >项目结构 – >文物 – >新 – > JAR – >来自具有依赖关系的模块
>选择Main类,然后单击“确定”
>在您的项目中,在src / main中,创建“resources”文件夹
>在此“resources”文件夹中移动“META-INF”(其中包含MANIFEST.MF)文件夹
>转到Build – >构建工件来构建JAR
编辑
更好(更简单的方法)是在pom.xml文件中添加以下行:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>your.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后使用“clean”和“package”maven命令.
上面的最后3个步骤(关于MANIFEST.MF)似乎仍然是强制性的.
内容总结
以上是互联网集市为您收集整理的Intellij Java 2016和Maven:如何在JAR中嵌入依赖项?全部内容,希望文章能够帮你解决Intellij Java 2016和Maven:如何在JAR中嵌入依赖项?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。