2017-05-18 71 views
0

在Maven的构建我的应用程序有两个特定于平台的依赖关系是互斥的。在项目的构建过程中,我想构建两个可运行jar,其中一个jar包含一个依赖项,第二个jar包含其他依赖项。的Maven构建两个可运行罐子不同的相关

我首先想到的是要创造一个每一个包含依赖和Maven的大会或灯罩插件来构建一个可运行罐子一二创建个人资料。不幸的是,这似乎不工作,因为只有一个罐子将建立。我试图在命令行上启用(-Pprofile1,profile2),同时设置activeByDefaulttrue,但仍然没有运气。

之前,我试图通过创建两个项目子模块做构建,有没有建立与不同的依赖性2个可运行罐子在同一个Maven项目的方式来解决它?

+1

你有两个配置文件的策略必须工作;如果只有一个被修造,你会做错事。如果可能,用安装程序显示pom.xml。 顺便说一下,'activeByDefault'标志有点古怪。 也许你正在使用相同的ID执行,在这两个配置文件? – Andrei

+0

@Andrei谢谢你的确认 - 我会再做一次,并仔细检查一切。 – jbird

+0

无后顾之忧;关于我关于执行ID的评论:如果你只是在两个配置文件中声明插件(没有'èxecution'标签),那么我认为其中一个覆盖另一个,因为它们都在执行'default-jar'上运行(我认为这是默认执行的ID)。如果是这种情况,那么只需声明两个单独的执行,每个配置文件一个,确保指定不同的ID。 – Andrei

回答

0

对于那些有兴趣,使用两个独立的模块对我来说是最好的解决方案。有一个包含所有代码的项目(“主”)。还有另外两个项目,其中每个项目都声明它对其特定平台和项目“main”所需的依赖性。每个项目然后为其平台构建一个可运行的jar。

相关问题