繁体   English   中英

如何参数化Maven文件(pom.xml)?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM