如何使用具有内部jar文件的内部jar文件构建可运行的jar?

时间:2012-01-06 10:30:40

标签: java eclipse maven jar

我有一个庞大的项目(Application),里面有另一个项目(Core)。应用程序内部有一大堆库,Core也是如此。我正在使用Eclipse,因此我使用Export Runnable Jar选项来创建Application.jar,但是当我运行它时,部分代码使用Core,该Core依赖于其中的图像库。当我查看runnable jar文件时,Application项目的所有库都在那里,但当我查看Core项目jar文件时,库不存在。为了让你了解我的意思,我期待的结构如下:

Application
  - Core.jar
    + ImageLibrary.jar
    + OtherLibraries.jar
    :
  + OtherLibraries.jar
  :

我正在使用Maven单独构建项目。但我并不是Maven的专家,因为我只是在短时间内使用它。

是否可以构建应用程序,以便Core也有它的库?

提前致谢, 阿列克谢蓝。

2 个答案:

答案 0 :(得分:0)

在Maven构建的Application中,是不是将Core指定为依赖项?如果是这样,它应该包含在所有依赖项中。您应该检查依赖项本身是否包含Maven中的正确范围。

答案 1 :(得分:0)

好的,所以我最终想到了这个。当我使用Maven构建项目时,它正在这样做,然后不在eclipse中更新构建路径。所以我在核心目录中运行:

# mvn clean install 
# mvn eclipse:eclipse

由于图像库是Core依赖项的补充,我必须确保设置eclipse的构建路径,否则eclipse不会接受更改。 eclipse:eclipse命令为我做了这个,但我认为它只适用于作为一个模块的项目,但它会从你的pom文件读取任何依赖项,并确保你的项目可以查看和访问它们。

然后在App目录中我构建了项目:

# mvn clean install

然后在eclipse中我将App项目导出为Runnable Jar,工作正常。

希望这可以帮助任何有同样问题的人。

干杯, 阿列克谢蓝。