我有一个名为 MyWebProject 的 Web 项目,它也有子模块并打包为 POM,我还有另外两个简单的 java 项目,名为 SimpleJavaProject1 和 SimpleJavaProject2,它们打包为 JAR。
我在网络项目中对两者都有依赖性。所以我必须这样使用 Maven Profile 和 Overlays,当我使用配置文件 JavaProject1 构建和打包我的 Web 项目时,Web 项目在其 war 中包含 SimpleJavaProject1,当我说 JavaProject2 时,它应该包含 SimpleJavaProject2。并且它应该仅对指定的java项目使用Overlays。
我可以在个人资料中使用叠加层吗?
请提出一些想法(如果有的话)...
最佳答案
我不熟悉叠加,但希望这种方法也适用于他们。
通常,人们可以通过根据配置文件在父 POM 中定义属性来解决此类问题:
<profiles>
<profile>
<id>JavaProject1</id>
<properties>
<java.project>SimpleJavaProject1</java.project>
<java.project.version>1.1</java.project.version>
</properties>
</profile>
<profile>
<id>JavaProject2</id>
<properties>
<java.project>SimpleJavaProject2</java.project>
<java.project.version>1.2</java.project.version>
</properties>
</profile>
</profiles>
然后在定义依赖项时使用此属性(希望您的覆盖层也如此):
<dependency>
<groupId>com.foo</groupId>
<artifactId>${java.project}</artifactId>
<version>${java.project.version}</version>
</dependency>
关于java - 如何使用maven配置文件和覆盖层来构建和打包多个指定项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385245/