Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何参数化Maven文件(pom.xml)?_Java_Spring_Maven - Fatal编程技术网

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

Java 如何参数化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这可能会有帮助: <

我有一个spring boot应用程序,我想根据我正在构建的配置文件对其进行打包,例如,当我发布profile
x
时,我希望maven构建为一个
jar
;但是当使用profile
y
构建时,我希望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文件中

使用以下内容构建:

  • mvn包
    -默认情况下构建WAR(隐式)
  • mvn包-P deployWar
    -构建WAR
  • mvn包-P deployJar
    -构建一个JAR

4.0.0
com.mycompany.app
我的应用程序
1.0.0
${deployment.type}
部署战争
战争
真的
部署罐
罐子

您可以轻松地将配置文件和属性列表添加到pom文件中

使用以下内容构建:

  • mvn包
    -默认情况下构建WAR(隐式)
  • mvn包-P deployWar
    -构建WAR
  • mvn包-P deployJar
    -构建一个JAR

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
)。