如何从build.properties获取值到persistence.xml?

时间:2012-04-24 07:07:44

标签: java hibernate build persistence.xml

在我们的项目中,我需要从build.properties获取一些值到persistence.xml。如果有可能,请告诉我?

2 个答案:

答案 0 :(得分:0)

例如:build.properties包含

 username = root
 password = shoot

作为属性,然后您可以将persistence.xml更改为具有

之类的值
 <username>@username@</username>
 <password value="@password@"/> 

然后你的build.xml应该是这样的。

<target name="replace">
    <property file="build.properties"/>
    <replace file="persistence.xml" token="@username@" value="${username}"/>
    <replace file="persistence.xml" token="@password@" value="${password}"/>
</target>

此处,来自<property>标记的ant会自动识别$ username和$ password值,您可以使用key作为名称来访问值。

答案 1 :(得分:0)

我不得不回忆起自己。这样做的正确方法是

    Map<String, String> props = new HashMap<String, String>();
    props.put("hibernate.connection.username", "sa");
    props.put("hibernate.connection.password", "");
    props.put("hibernate.connection.url", "jdbc:h2:mem:test_mem;MVCC=true");
    EntityManagerFactory factory = Persistence.createEntityManagerFactory("inmemory", props); 

您可以代替硬编码用户名,就像我暂时从您的build.properties文件中读取它一样。玩得开心。

迪安