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

Maven build two runnable jars with different dependencies

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

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

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

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