IntelliJ:在jar工件中包含jar

时间:2010-05-19 07:27:33

标签: macos jar intellij-idea

使用IntelliJ 9.0.2社区版在Mac上进行开发。

我有一个程序,它依赖于两个库罐。我已经想出如何让IntelliJ让我成为我的源代码(使用Artifact选项卡),甚至包括两个罐子。

但是,如果我得到它生成的jar文件的列表,它看起来像这样:

    COM / ACME / MyClass1.class
    COM / ACME / MyClass2.class
    ...
    mylib1.jar
    myLib2.jar

而且,毫不奇怪,如果我双击jar文件,它第一次尝试访问一个或其他库jar中的类时会得到NoClassDefFoundError。

似乎我需要告诉IntelliJ“内联”库罐 - 但这个菜单选项总是灰色的!

有没有人知道如何在罐子工件中内嵌罐子?

3 个答案:

答案 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文件..