我有一个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
来决定。
答案 0 :(得分:3)
也许这会有所帮助:
<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}
。
答案 1 :(得分:1)
您可以轻松地将包含属性列表的配置文件添加到您的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>