我有一个项目有2个应用程序(类似于服务器和客户端),它们都具有相同的核心,其中包含访问数据库和配置文件的方法。我需要能够以最小的努力打包这两个应用程序。与所有'模块一起工作也很有帮助。在我的IDE的同一窗口(我使用IntelliJ)。多模块Maven项目是否适合这种情况,如果是这样,您将如何单独打包每个模块。
希望这能让我更清楚我想要实现的目标:
答案 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。您可以找到有关创建模块here和here的更多信息。
包装类型
对于所有子模块,使用JAR作为包装类型。
装配定义
使用Maven assembly
功能创建可分发的zip(或任何其他您希望的格式),将App1和App2打包为一个整体。您甚至可以打包shell / batch脚本以启用相应项目的执行。您可以找到有关创建程序集here的更多信息。