私は春3にMavenマルチモジュールプロジェクトを開発しています。2つのプロジェクトがあります。プロジェクトAにjdbc.properties(データベースのユーザー名とパスワードが含まれています)というプロパティファイルが1つありますが、プロジェクトBにはjdbc.propertiesがありません。Projet bでプロジェクトaの一般的なコードを取得するために、プロジェクトbに依存関係としてプロジェクトaを含めました。私の質問は、Mavenを使用してプロジェクトbのspring-context.xmlファイルでプロジェクトAのjdbc.propertiesのプロパティをどのように使用できるかです。
application-context.xml(SNIPPET)
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
これが私のプロジェクトの構造です
**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ファイルです。 今春の構成
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に2つのdatabase.proprtiesファイルを作成する必要はありません。私が欲しいのは、プロジェクトAにjdbc.propertiesファイルを1つだけ持ち、次にプロジェクト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>
前もって感謝します。