欢迎访问我的个人网站==》 jiashubing.cn

pom activeByDefault 不生效

问题

pom里<profile>配置了activeByDefault,但是不生效

<profiles>
    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <!-- 测试使用的变量 -->
            <pom.test.flag>true</pom.test.flag>
            <pom.test.ukey.code>jiashubing</pom.test.ukey.code>
        </properties>
    </profile>
    <profile>
        <id>pro</id>
        <properties>
            <!-- 测试使用的变量 -->
            <pom.test.flag>false</pom.test.flag>
            <pom.test.ukey.code>jiashubing</pom.test.ukey.code>
        </properties>
    </profile>
</profiles>

 

解决

在pom的<build>中添加如下代码: <resources>

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>
    ...
</build>

 

maven编译的时候,不知道属性文件在哪里,配置一下就好了。

一般情况下,这种解决就好了,但是如果还是有问题,那么就需要 在 maven-resources-plugin 这个插件下添加 resources 配置 

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-resources-plugin</artifactId>
   <version>2.6</version>
   <configuration>
      <resources>
         <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
         </resource>
      </resources>
      <encoding>utf-8</encoding>
      <useDefaultDelimiters>true</useDefaultDelimiters>
      <delimiters>
         <delimiter>$[*]</delimiter>
      </delimiters>
      <encoding>UTF-8</encoding>
   </configuration>
</plugin>

  

 原创文章,欢迎转载,转载请注明出处!

posted @ 2020-08-11 15:26  贾树丙  阅读(5118)  评论(0编辑  收藏  举报