在maven项目中重用常量和属性?

时间:2012-12-28 06:45:42

标签: java database maven jpa pom.xml

我在 pom.xml 中有一些需要数据库连接属性的插件。我们这样:驱动程序,网址,用户名,密码。我已经在 persistence.xml 文件中拥有的所有这些首选项。我可以直接使用它们而无需创建新文件吗?

1 个答案:

答案 0 :(得分:4)

即使你可以,它也不会很漂亮。你可以反过来做 - 将这些参数指定为pom.xml中的属性(或它旁边的属性文件),并使用maven resource filtering将它们注入persistence.xml和任何其他需要它们的文件@built时间。

所以你在你的pom.xml中有这样的东西:

<properties>
   <db.driver.class>com.acme.db.JdbcDriver</db.driver.class>
   <db.url>localhost</db.url>
</properties>
...
<build>
   <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
   </resources>
   <plugins>
      <plugin>
         ...
         <configuration>
            <connection>${db.driver.class}/${db.url}</connection>
         </configuration>
      </plugin>
   </plugins>
</build>

在您的persistence.xml中,您可以使用$ {db.driver.class}并在构建期间将其替换为maven。