从 Eclipse 执行中读取 Maven 属性

Read maven properties from eclipse execution

我正在开发一个简单的 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 变量被正确替换,但是如果我尝试执行程序运行->Java 应用eclipse下面的代码片段

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

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

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