Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.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命令中调用两个不同的概要文件?_Java_Maven_Maven Profiles - Fatal编程技术网

Java 如何在一个maven命令中调用两个不同的概要文件?

Java 如何在一个maven命令中调用两个不同的概要文件?,java,maven,maven-profiles,Java,Maven,Maven Profiles,我在pom.xml中有两个用于不同环境的配置文件,我必须运行mvn-PTest1 install和mvn-PTest2 install命令才能使用这些配置文件。我们能否将两个单独的maven命令集成到一个命令中(如mvn clean install) 这是我的Pom记录 <profiles> <profile> <id>Test1</id> <activation> <activeByDefault>tr

我在
pom.xml
中有两个用于不同环境的配置文件,我必须运行
mvn-PTest1 install
mvn-PTest2 install
命令才能使用这些配置文件。我们能否将两个单独的maven命令集成到一个命令中(如
mvn clean install

这是我的Pom记录

<profiles>
  <profile>
  <id>Test1</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.5</jdk>
    <os>
       <name>Windows XP</name>
       <family>Windows</family>
       <arch>x86</arch>
       <version>5.1.2600</version>
    </os>
    <property>
       <name>sparrow-type</name>
       <value>African</value>
    </property>
  </activation>
  <dependencies>
    <dependency>
      <groupId>
      com.endeca
      </groupId>
      <artifactId>
      endeca_navigation_Test1
      </artifactId>
     <version>
     6.1
     </version>
     <!--<version>stable</version> -->
    <scope>
    compile
    </scope>
  </dependency>
  </profile>

  <profile>
    <id>Test2</id>
    <activation>
      <activeByDefault>false</activeByDefault>
      <jdk>1.5</jdk>
      <os>
        <name>Windows XP</name>
        <family>Windows</family>
        <arch>x86</arch>
        <version>5.1.2600</version>
      </os>
      <property>
        <name>sparrow-type</name>
        <value>African</value>
      </property>
    </activation>
    <dependencies>
      <dependency>
        <groupId>
        com.endeca
        </groupId>
        <artifactId>
        endeca_navigation_Test2
        </artifactId>
        <version>
        6.1
        </version>
        <!--<version>stable</version> -->
        <scope>
        compile
        </scope>
      </dependency>
    </dependencies>
  </profile>
</profiles>

测试1
真的
1.5
视窗XP
窗户
x86
5.1.2600
麻雀型
非洲的
com.endeca
endeca_导航_测试1
6.1
编译
测试2
假的
1.5
视窗XP
窗户
x86
5.1.2600
麻雀型
非洲的
com.endeca
endeca_导航_测试2
6.1
编译
使用单个命令管理hudson作业将很有帮助

根据讨论,尝试用逗号分隔配置文件名称:

mvn install -P Test1,Test2

对我来说,Mifeet的答案不起作用。我得到了“未知生命周期阶段测试2”。对我来说,这是可行的:

mvn install -PTest1 -PTest2
是正确的,但在Windows PowerShell中应该引用参数,否则将出现“未知生命周期阶段”错误


基于maven help命令

 -P,--activate-profiles <arg>   Comma-delimited list of profiles to activate
-P,--activate profiles逗号分隔的要激活的配置文件列表

因此,您可以运行
mvn-package-Pp1,p2
以使用p1和p2运行profile id

,因此您希望将命令
mvn-PTest1 install
mvn-PTest2 install
?我需要将这两个命令mvn-PTest1 install和mvn-PTest2 install与我的Hudson作业命令mvn install集成。mvn安装正在处理我们项目的Hudson作业。您正在使用PowerShell吗?请看naXa的答案。对我来说,它是
”,我正在使用cmd
 -P,--activate-profiles <arg>   Comma-delimited list of profiles to activate