Java 如何参数化Maven文件(pom.xml)?
我有一个spring boot应用程序,我想根据我正在构建的配置文件对其进行打包,例如,当我发布profileJava 如何参数化Maven文件(pom.xml)?,java,spring,maven,Java,Spring,Maven,我有一个spring boot应用程序,我想根据我正在构建的配置文件对其进行打包,例如,当我发布profilex时,我希望maven构建为一个jar;但是当使用profiley构建时,我希望maven构建为war 我想要像这样的东西: 4.0.0 com.mycompany.app 我的应用程序 1.0.0 ${buildMethod} 其中,${buildMethod}是包装的类型 这将通过执行一个命令来决定,即mvn package-p buildProfile这可能会有帮助: <
x
时,我希望maven构建为一个jar
;但是当使用profiley
构建时,我希望maven构建为war
我想要像这样的东西:
4.0.0
com.mycompany.app
我的应用程序
1.0.0
${buildMethod}
其中,${buildMethod}
是包装的类型
这将通过执行一个命令来决定,即mvn package-p buildProfile
这可能会有帮助:
<profiles>
<profile>
<id>war</id>
<properties>
<deploy.type>war</deploy.type>
</properties>
</profile>
<profile>
<id>jar</id>
<properties>
<deploy.type>jar</deploy.type>
</properties>
</profile>
</profiles>
战争
战争
罐子
罐子
然后只需使用此属性占位符${deploy.type}
也许这会有帮助:
<profiles>
<profile>
<id>war</id>
<properties>
<deploy.type>war</deploy.type>
</properties>
</profile>
<profile>
<id>jar</id>
<properties>
<deploy.type>jar</deploy.type>
</properties>
</profile>
</profiles>
战争
战争
罐子
罐子
然后只需使用此属性占位符
${deploy.type}
就可以轻松地将配置文件和属性列表添加到pom文件中
使用以下内容构建:
-默认情况下构建WAR(隐式)mvn包
-构建WARmvn包-P deployWar
-构建一个JARmvn包-P deployJar
4.0.0
com.mycompany.app
我的应用程序
1.0.0
${deployment.type}
部署战争
战争
真的
部署罐
罐子
您可以轻松地将配置文件和属性列表添加到pom文件中
使用以下内容构建:
-默认情况下构建WAR(隐式)mvn包
-构建WARmvn包-P deployWar
-构建一个JARmvn包-P deployJar
4.0.0
com.mycompany.app
我的应用程序
1.0.0
${deployment.type}
部署战争
战争
真的
部署罐
罐子
那么,您想参数化Maven文件吗?是的,非常感谢您提出了正确的问题。我加入了一个示例并进行了澄清。@Mr.polywhill Thank现在看起来好多了……不过您不应该这样做,您应该有一个多模块Maven项目,并且每种打包类型都有一个模块。你想要的是一个在未来可能会导致维护问题的技巧那么,你想参数化Maven文件吗?是的,非常感谢你提出了正确的问题。我举了一个例子并澄清了。@Mr.Polywhill Thank现在看起来好多了…但是你不应该这样做,您应该有一个多模块maven项目,并且每个打包类型都有一个模块。你想要的是一个技巧,它可能会导致未来的维护难题。它太容易了,以至于我不好意思发布这个问题…:(别忘了提到mvn包-P war
对应于war
配置文件的id
。这太容易了,以至于我不好意思发布这个问题……:(别忘了提到mvn包-P war
对应于war
配置文件的id
)。