我正在開發一個Spring 3中的maven多模塊項目。我有兩個項目。我在項目A中有一個名爲jdbc.properties的屬性文件(它包含數據庫用戶名,密碼),但項目B沒有jdbc.properties。我已經在項目b中包含項目a作爲依賴項,以便在Projet b中獲得項目a的一些通用代碼。我的問題是如何使用mavenjdbc在Spring 3中的屬性使用maven
應用程序的context.xml(片段)
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
這裏的一個結構使用項目B彈簧context.xml文件項目A jdbc.properties的性質我的項目
**Projects**
- Project A
src/main/java
+src/main/resource
-Database.properties
Database file has following properties
jdbc.driverClassName=org.h2.Driver
jdbc.url=jdbc:h2:tcp://localhost/~/tododb
jdbc.username=sa
jdbc.password=
jpa.database=H2
jpa.showSql=true
pom.xml
- Project b
+src/main/java
src/main/resource (don't want to have jdbc.properties file in this project)
pom.xml (I have added Project as dependencies in Project B because
i am using some common classes of project a in project b)
下面是這兩個項目的POM文件 POM配置這兩個項目
- Project A (pom.xml)
<parent>
<groupId>com.ambientideas</groupId>
<artifactId>sample08-multimodulejava-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.ambientideas1</groupId>
<artifactId>sample-multimodulejava-module1</artifactId>
<name>sample application 1</name>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
- Project B (Pom.xml)
<parent>
<groupId>com.ambientideas</groupId>
<artifactId>sample08-multimodulejava-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>sample-multimodulejava-module2</artifactId>
<packaging>jar</packaging>
<dependencies> (using Project a common classes in project b)
<dependency>
<groupId>com.ambientideas1</groupId>
<artifactId>sample-multimodulejava-module1</artifactId>
<version>${version}</version>
</dependency>
</dependencies>
</project>
這裏是我的項目的Spring配置的jdbc-context.jdbc文件。 現在Spring配置文件
In Both Projects (Project a, Project b), i have two jdbc.content.xml files(Spring xml's)
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<context:property-placeholder location="/META-INF/classes/jdbc.properties" />
<property name="driverClass" value="${jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
問題: 我不希望有項目A和項目B兩個database.proprties文件。我要的是,我只是想在項目中只有一個jdbc.properties文件,然後想在B項目使用A項目JDBC.propties文件的屬性
<property name="driverClass" value="${jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
有什麼辦法做它?這裏是項目B pom.xml的狹窄
<project>
<parent>
<groupId>com.ambientideas</groupId>
<artifactId>sample08-multimodulejava-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>sample-multimodulejava-module2</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.ambientideas1</groupId>
<artifactId>sample-multimodulejava-module1</artifactId>
<version>${version}</version>
<description>Project B<description>
</dependency>
</dependencies>
</project>
在此先感謝。