为 Maven 模块使用不同的配置文件
Using different profiles for Maven Modules
我正在尝试在多模块 Maven 项目中工作。整个公司都有一个 pom 项目,我们在其中定义了两个 maven 配置文件:application - 它在我们构建应用程序时使用(必须创建 zip 等),module - 当我们构建一个简单的通用模块时。我们将此 pom 项目称为 build.module
现在有一个 maven 多模块项目也在使用 build.module。该项目包含两个模块,一个是应使用“application”配置文件构建的应用程序(myapp),另一个是常见的应该使用“module”配置文件构建的模块 (mycommon)。
如果我 运行 mvn clean install 到多模块那里我可以只指定使用的配置文件,但我不想用相同的配置文件构建两个模块,我想要一些对他们的某种控制。
虽然我在多模块项目中有多个模块,但也可以定义额外的配置文件来控制应该构建哪些模块。
我的问题是如何设法以 myapp 使用“application”配置文件构建的方式来构建我的多模块项目而 mycommon 是使用“module”配置文件构建的?
--> 构建模块
-----> 多模块项目
----------> 我的共同点
----------> 我的应用程序
非常感谢,如果您知道该怎么做,您将对我有很大帮助:)
祝你有愉快的一天。
我们定义了类似的东西
<profiles>
<profile>
<id>findbugs</id>
<activation>
<file>
<exists>${basedir}/.mvn/active-profiles/findbugs</exists>
</file>
</activation>
...
这允许您通过将名为 findbugs
的文件添加到相应目录来激活 findbugs。您的问题应该可以按照相同的思路解决。
附带说明:我决定以后用属性(即 skip/enable 插件)替换大部分配置文件,因为我们想在 POM 中收集所有信息。尽管如此,配置文件的解决方案现在已经运行了大约 2 年。
我正在尝试在多模块 Maven 项目中工作。整个公司都有一个 pom 项目,我们在其中定义了两个 maven 配置文件:application - 它在我们构建应用程序时使用(必须创建 zip 等),module - 当我们构建一个简单的通用模块时。我们将此 pom 项目称为 build.module
现在有一个 maven 多模块项目也在使用 build.module。该项目包含两个模块,一个是应使用“application”配置文件构建的应用程序(myapp),另一个是常见的应该使用“module”配置文件构建的模块 (mycommon)。
如果我 运行 mvn clean install 到多模块那里我可以只指定使用的配置文件,但我不想用相同的配置文件构建两个模块,我想要一些对他们的某种控制。
虽然我在多模块项目中有多个模块,但也可以定义额外的配置文件来控制应该构建哪些模块。
我的问题是如何设法以 myapp 使用“application”配置文件构建的方式来构建我的多模块项目而 mycommon 是使用“module”配置文件构建的?
--> 构建模块
-----> 多模块项目
----------> 我的共同点
----------> 我的应用程序
非常感谢,如果您知道该怎么做,您将对我有很大帮助:)
祝你有愉快的一天。
我们定义了类似的东西
<profiles>
<profile>
<id>findbugs</id>
<activation>
<file>
<exists>${basedir}/.mvn/active-profiles/findbugs</exists>
</file>
</activation>
...
这允许您通过将名为 findbugs
的文件添加到相应目录来激活 findbugs。您的问题应该可以按照相同的思路解决。
附带说明:我决定以后用属性(即 skip/enable 插件)替换大部分配置文件,因为我们想在 POM 中收集所有信息。尽管如此,配置文件的解决方案现在已经运行了大约 2 年。