使用核心依赖项编译JAR

时间:2014-12-14 05:06:53

标签: java maven

我有一个项目有2个应用程序(类似于服务器和客户端),它们都具有相同的核心,其中包含访问数据库和配置文件的方法。我需要能够以最小的努力打包这两个应用程序。与所有'模块一起工作也很有帮助。在我的IDE的同一窗口(我使用IntelliJ)。多模块Maven项目是否适合这种情况,如果是这样,您将如何单独打包每个模块。

希望这能让我更清楚我想要实现的目标:

2 个答案:

答案 0 :(得分:0)

将核心作为一个单独的模块,并将其作为依赖项添加到您的两个项目中。你会得到3个罐子 - Core.jar,App1.jar和App2.jar。 App1.jar和App2.jar都将core.jar作为依赖。

答案 1 :(得分:0)

根据您在帖子和评论中提供的说明,我将建议您采用以下方法

使用以下结构创建4个不同的项目

MyProjectParent
--Core
--App1
--App2


对依赖项进行分组
MyProjectParent声明为父POM,将其余项目声明为子模块。使用MyProjectParent声明子项目中的依赖项,即core,app1和app2。因此,它将减少将来更改项目中的任何版本号或依赖项的痛苦。在子模块中,您只需要引用groupID,artifactID。您可以找到有关创建模块herehere的更多信息。

包装类型
对于所有子模块,使用JAR作为包装类型。

装配定义
使用Maven assembly功能创建可分发的zip(或任何其他您希望的格式),将App1和App2打包为一个整体。您甚至可以打包shell / batch脚本以启用相应项目的执行。您可以找到有关创建程序集here的更多信息。