我正在使用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
我怎么能做到这一点?谢谢你的帮忙!
2条答案
按热度按时间e0bqpujr1#
我终于设法用IntelliJ Java生成了这个JAR,下面是我是如何做到的:
编辑
一种更好(也更容易)的方法是在pom.xml文件中添加以下行:
然后使用“CLEAN”和“PACKET”maven命令。
上面的最后3个步骤(关于MANIFEST.MF)似乎仍然是强制性的。
8gsdolmq2#
好的,所以您基本上想要创建一个“胖JAR”(有时称为汇编),它包含它自己的所有依赖项(通常,依赖项是外部的)。
为此,您需要使用Maven插件。下面是一个示例程序集插件配置JAR-with-Dependents:
然后,只需运行