2013-12-10 11 views
6

Hilfe, ich möchte meine Persistenz Xml-Eigenschaften Wert Verweis auf meine db.properties-Datei.Persistence.xml Feldwerte aus der Eigenschaftendatei

hier ist mein db.properties

jdbc.driver=com.mysql.jdbc.Driver 
jdbc.url=jdbc:mysql://localhost:3306/apsas 
jdbc.username=root 
jdbc.password=password 

Datei und hier ist meine aktuelle persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" 
    version="2.0"> 
    <persistence-unit name="apsaspu" transaction-type="RESOURCE_LOCAL"> 
     <provider> 
      org.hibernate.ejb.HibernatePersistence 
     </provider> 
     <properties> 
      <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /> 
      <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/apsas" /> 
      <property name="hibernate.connection.username" value="root" /> 
      <property name="hibernate.connection.password" value="password" /> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
      <property name="hibernate.show_sql" value="true" /> 
      <property name="hibernate.hbm2ddl.auto" value="update" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

, was ich zu tun ist, wollte in seiner Eigenschaft festlegen, wie diese

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" 
    version="2.0"> 
    <persistence-unit name="apsaspu" transaction-type="RESOURCE_LOCAL"> 
     <provider> 
      org.hibernate.ejb.HibernatePersistence 
     </provider> 
     <properties> 
      <property name="hibernate.connection.driver_class" value="${jdbc.driver}" /> 
      <property name="hibernate.connection.url" value="${jdbc.url}" /> 
      <property name="hibernate.connection.username" value="${jdbc.username}" /> 
      <property name="hibernate.connection.password" value="${jdbc.password}" /> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
      <property name="hibernate.show_sql" value="true" /> 
      <property name="hibernate.hbm2ddl.auto" value="update" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

Frage ist, wie kann ich die Eigenschaftendatei in meine Persistenz xmlimportierenVielen Dank für die, die mir helfen werden ...

+0

arbeiten Sie mit Maven? – kostja

+0

ja sir ........ –

Antwort

3

Wenn Sie Maven verwenden, können Sie Quellfilter dafür verwenden. Verwenden Sie this docs als Referenz. Ich werde den Prozess etwas umreißen.

Sie müssen den Filterpfad angeben. Ich bin mir nicht sicher, ob Sie die enthaltenen Dateien explizit definieren müssen.

<build> 
    ... 
    <resources> 
    <resource> 
     <directory>src/main/resources/META-INF</directory> 
     <filtering>true</filtering> 
     <includes> 
     <include>**/*.xml</include> 
     </includes> 
    </resource> 
    ... 
    </resources> 
    ... 
</build> 

Das Verzeichnis, das Sie ist auf die pom.xml relativ definieren.

Sie können nun regelmäßig Maven Eigenschaften definieren die Platzhalter in ersetzen Ihre persistence.xml

Wenn Sie die Eigenschaften in einer separaten .properties-Datei haben wollen, müssen Sie Maven sagen, wo diese Datei zu finden:

<filters> 
    <filter>db.properties</filter> 
</filters> 

Die Filterung erfolgt unter mvn resources:resources. Dieser Schritt ist für alle Packaging-Ziele definiert, die Sie bei der Bereitstellung ausführen.

Sie können mithilfe von Maven-Profilen zwischen den Eigenschaftensätzen oder den .properties-Dateien wechseln.

+0

Ich versuche, von der Ressourcenfilterung zu Systemvars und Eigenschaftendatei zu verschieben. [Dieser Typ erklärt warum] (http://stackoverflow.com/a/1634545/660408) – gkiko

Verwandte Themen