Maven构建了两个具有不同依赖关系的可运行jar

时间:2017-05-18 19:30:32

标签: maven maven-3 maven-assembly-plugin maven-shade-plugin

在我的Maven构建的应用程序中,我有两个互斥的特定于平台的依赖项。在项目构建期间,我想构建两个可运行的jar,其中一个jar包含一个依赖项,第二个jar包含另一个依赖项。

我的第一个想法是创建两个构建配置文件,其中每个包含一个依赖项和Maven Assembly或Shade插件来构建一个可运行的jar。不幸的是,这似乎没有用,因为只有一个罐子可以建造。我尝试在命令行(-Pprofile1,profile2)上同时启用它们,同时将activeByDefault设置为true但仍然没有运气。

在我尝试通过创建两个项目子模块来进行构建之前,有没有办法在同一个Maven项目中构建两个具有不同依赖关系的可运行jar?

1 个答案:

答案 0 :(得分:0)

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