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



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

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

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

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

提前感谢,阿列克谢蓝。

在应用程序的Maven构建中,Core是否未被指定为依赖项?如果是这样的话,那么它应该包含在它的所有依赖项中。您可能应该检查依赖项本身在Maven中是否具有要包含的正确范围。

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

# mvn clean install 
# mvn eclipse:eclipse

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

然后在应用程序目录中,我重新构建了项目:

# mvn clean install

然后,在eclipse中,我将应用程序项目导出为一个运行的Jar,它运行良好。

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

干杯,阿列克谢蓝。

最新更新