从 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
我正在开发一个简单的 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