Eclipse + maven:配置文件被忽略

时间:2015-03-04 17:44:25

标签: maven filtering profile

这是我的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.heliosophiclabs</groupId>
<artifactId>artifactId</artifactId>
<version>0.0.1-SNAPSHOT</version>

<profiles>
    <profile>
        <id>local</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <serverAddr>localhost</serverAddr>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <serverAddr>heliosophiclabs.com</serverAddr>
        </properties>
    </profile>
</profiles>

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

我在src / main / resources中有一个config.properties文件,如下所示:

serverIp=${serverAddr}

然后我做:

mvn clean resources:resources -Pprod

请注意,配置文件在此处指定为&#34; prod&#34;,但是,无论我如何坚持,config.properties文件在上面的命令行之后如下所示:

serverIp=localhost

应该是:

serverIp=heliosophiclabs.com

如果我在此命令行中指定了一个不存在的配置文件,那么maven会给我一个错误,所以它肯定会做一些事情。

请......我在这里做错了什么?

编辑:

根据要求,&#34; mvn -X -Pprod的输出安装&#34;可用here,因为它太大了,无法在此发布。

这就是我所看到的:

C:\Users\Marc\workspace_mars_2\entourage>mvn -X -Pprod install > mvn.out
C:\Users\Marc\workspace_mars_2\entourage>more target\classes\config.properties
serverAddr=localhost

在entourage-0.0.1-SNAPSHOT.jar中,config.properties位于root,其内容与上面相同(即localhost)。

我没有做到这一点!

1 个答案:

答案 0 :(得分:0)

经过多次讨论后,最终证明问题在于使用“使用本机挂钩或轮询刷新”选项(首选项&gt;一般&gt;工作空间&gt;刷新使用本机挂钩)。取消选中此选项可解决问题。

向Eclipse Foundation提交的错误报告。见https://bugs.eclipse.org/bugs/show_bug.cgi?id=462027