[英]How to parameterize a Maven file (pom.xml)?
我有一个spring boot应用程序,我想根据它使用的配置文件打包它,例如,当我发布配置文件x
,我希望maven作为jar
; 但是当使用轮廓y
进行建造时,我希望maven作为war
建造。
我想要类似的东西:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<package>${buildMethod}</package>
</project>
其中${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}
。
您可以轻松地将配置文件以及属性列表添加到pom文件中。
构建使用:
mvn package
-默认情况下构建一个WAR(隐式) mvn package -P deployWar
构建WAR mvn package -P deployJar
构建JAR <project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<package>${deployment.type}</package>
<profiles>
<!-- This profile deploys the application as a WAR (default) -->
<profile>
<id>deployWar</id>
<properties>
<deployment.type>war</deployment.type>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!-- This profile deploys the application as a JAR -->
<profile>
<id>deployJar</id>
<properties>
<deployment.type>jar</deployment.type>
</properties>
</profile>
</profiles>
</project>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.