标签: maven-profiles

Maven的默认构建配置文件

我已经为我的Maven项目添加了分析.

        <profile>
            <id>da</id>                
        </profile>
        <profile>
            <id>live</id>
        </profile>
        <profile>
            <id>dev</id>
        </profile>
Run Code Online (Sandbox Code Playgroud)

当我在mvn clean install不指定构建配置文件的情况下发出命令时.我需要默认构建开发配置文件.

我怎样才能做到这一点?

maven maven-profiles

58
推荐指数
1
解决办法
4万
查看次数

如何在一个maven命令中调用两个不同的配置文件?

我有两个不同环境的配置文件pom.xml,我必须运行mvn -PTest1 installmvn -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> …
Run Code Online (Sandbox Code Playgroud)

java maven maven-profiles

50
推荐指数
4
解决办法
4万
查看次数

继承Maven配置文件

子POM是否可以继承父POM中定义的配置文件?如果是这样,怎么样?

maven-2 maven-profiles

30
推荐指数
3
解决办法
2万
查看次数

如何将特定的maven配置文件分配给intellij运行配置?

我有多个项目加载到我的项目结构中,他们都使用不同的maven配置文件.我知道我可以使用Maven Projects选项卡切换配置文件,但我想指定一个特定的配置文件以配合特定的运行配置.

intellij-idea maven maven-profiles

24
推荐指数
2
解决办法
2万
查看次数

如何在多模块项目中列出mvn中所有激活的配置文件

mvn help:active-profiles仅列出在项目中激活的配置文件+您调用它的系统设置.

它不会列出已启用/激活的配置文件,即父pom.

有什么方法可以通过其他方式实际查看激活的配置文件的完整列表,而不是试错,以查看是否启用了哪些属性?

maven maven-profiles

19
推荐指数
4
解决办法
1万
查看次数

如果未激活其他配置文件,则激活Maven配置文件

问题与Maven有关:如果未激活配置文件B,则仅激活配置文件A?,但它更具体.

如果我输入以下内容之一:

mvn clean install -PspecificProfile
mvn clean install -Dsmth -PspecificProfile
mvn clean install -Dsmth -PspecificProfile,anotherProfile
Run Code Online (Sandbox Code Playgroud)

然后我想激活specificProfile个人资料.(+其他指定的配置文件)

如果我输入其他类似的东西:

mvn install
mvn clean install
mvn clean install -Dsmth
mvn clean install -Dsmth -PanotherProfile
mvn clean install -Dsmth -PdefaultProfile
mvn clean install -Dsmth -PdefaultProfile,anotherProfile
Run Code Online (Sandbox Code Playgroud)

然后我想激活defaultProfile(+其他指定的配置文件).

理念:

if ( specific profile P is used via command line ) {
    activate P;
} else {
    activate the default profile;
}
activate other specified profiles; …
Run Code Online (Sandbox Code Playgroud)

java build maven-3 maven maven-profiles

19
推荐指数
1
解决办法
1万
查看次数

Maven配置文件激活条件中os.family的值

Maven允许基于其运行的操作系统系列激活某些构建配置文件,例如:

<profile>
    <activation>
        <os><family>Windows</family></os>
    </activation>
</profile>
Run Code Online (Sandbox Code Playgroud)

围绕这个问题有很多问题:当时允许的值是os.family多少?他们是否区分大小写?Linux会遇到Unix吗?还是unix?等等.

我在哪里可以找到有关允许值的信息 - 或者至少Maven从哪里获取这些值?环境变量?

environment-variables maven maven-profiles

18
推荐指数
4
解决办法
2万
查看次数

是否可以仅在Maven中特定配置文件处于活动状态时使用代理?

我想仅在特定配置文件处于活动状态时才使用代理.为了实现这一点,我的猜测是参数<active><proxy>元素的属性.但是,我不确定如何实现这一目标.

问题:如何仅在特定配置文件处于活动状态时才使用代理?

proxy maven-3 maven maven-profiles

14
推荐指数
2
解决办法
1914
查看次数

在maven配置文件中使用properties标记

我参考了" Maven:The Complete Reference ",特别是有关<properties...<profile...标签中使用标签的配置文件的部分:请参阅此处

 <profile>
            <id>development</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <property>
                    <name>environment.type</name>
                    <value>dev</value>
                </property>
            </activation>
            <properties>
                <database.driverClassName>com.mysql.jdbc.Driver</database.driverClassName>
                <database.url>
                    jdbc:mysql://localhost:3306/app_dev
                </database.url>
                <database.user>development_user</database.user>
                <database.password>development_password</database.password>
            </properties>
        </profile>
Run Code Online (Sandbox Code Playgroud)

我不确定的mvn install -Denvironment.type=dev是运行命令时会发生什么:

  • 这会创建一个.properties文件吗?
  • 如果不是tomcat(例如)在dev中测试应用程序时如何以及在何处读取各个属性?

properties maven maven-profiles

13
推荐指数
1
解决办法
3万
查看次数

在maven java项目中获取运行时激活的配置文件名称列表

我需要能够使用在JUnit测试运行期间激活的配置文件.我想知道是否有办法做某事:

String str = System.getProperty("activated.profile[0]");
Run Code Online (Sandbox Code Playgroud)

或任何其他相对方式......

我意识到有一个选项,以${project.profiles[0].id}某种方式使用它不起作用.

有任何想法吗?

system-variable maven maven-profiles

12
推荐指数
1
解决办法
6437
查看次数