使用IntelliJ 9.0.2社区版在Mac上进行开发。
我有一个程序,它依赖于两个库罐。我已经想出如何让IntelliJ让我成为我的源代码(使用Artifact选项卡),甚至包括两个罐子。
但是,如果我得到它生成的jar文件的列表,它看起来像这样:
COM / ACME / MyClass1.class
COM / ACME / MyClass2.class
...
mylib1.jar
myLib2.jar
而且,毫不奇怪,如果我双击jar文件,它第一次尝试访问一个或其他库jar中的类时会得到NoClassDefFoundError。
似乎我需要告诉IntelliJ“内联”库罐 - 但这个菜单选项总是灰色的!
有没有人知道如何在罐子工件中内嵌罐子?
答案 0 :(得分:2)
IDEA还不支持它,您可以使用Ant集成来打包jar(通过将所有jar解压缩到temp文件夹中,然后将项目输出加上此temp文件夹打包到单个jar中或使用一些Ant像jarjar)这样的任务。
如果您希望此功能出现在未来的IDEA版本中,请vote for the request。
答案 1 :(得分:0)
将JAR包含在JAR中应该允许您的代码成功运行。您可能在类路径中没有JAR。
答案 2 :(得分:0)
我将使用Maven Assembly插件。它简单,会给你一个整洁的小jar文件..