从eclipse执行中读取maven属性

时间:2015-01-19 13:53:19

标签: java eclipse maven maven-3

我正在开发一个简单的java应用程序,它需要再次对数据库进行一些操作。现在我有愚蠢的麻烦:

我在我的pom中定义了一些配置文件并启用了资源过滤:

.....
<profiles>
    <profile>
        <id>Development</id>
        <properties>
            <db.driverClass>MyDriver</db.driverClass>
            <db.connectionURL>MyUrl</db.connectionURL>
            <db.username>MyUsername</db.username>
            <db.password>MyPassword</db.password>
        </properties>
    </profile>
<profiles>
.....

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

现在我还在src / main / resources中创建了一个myProp.properties,其中我定义了以下属性:

driverClassName = ${db.driverClass}
url = ${db.connectionURL}
username = ${db.username}
password = ${db.password}

如果我尝试运行 mvn install -P Development ,在生成的jar中maven变量被正确替换,但是如果我尝试使用Run-&gt; Java Application of eclipse执行程序以下代码片段

Properties props = new Properties();
props.load(getClass().getResourceAsStream("/myProp.properties"));
System.out.println(props.getProperty("driverClassName"))

我得到 $ {db.driverClass} 而不是MyDriver。 我在哪里做错了?

1 个答案:

答案 0 :(得分:0)

您必须在eclipse构建配置中激活您的配置文件。 希望此页面有帮助:http://czetsuya-tech.blogspot.fr/2011/11/how-to-activate-maven-profile-inside.html#.VL0NPUeG9ps