私は2つの他のモジュールで作られたwebappを開発しています。がjava webappの場合、hsqldb urlは相対パスを受け入れません。これはMavenの設定によるものですか?
私はテストとtest/resources' default package
のプロパティファイルに対してtest/resources/META-INF
に春のアプリケーションコンテキストtest-model-config.xml
を持っているlayer.itデータベースをrepresentesモデルモジュールを持っています。ライブコンテキストであり、ウェブアプリケーションからプロパティを選択するはずのにmodel-config.xml
があります。今罰金のビルドまで は、ここでは何の問題
- <!-- test-model-config.xml and model-config.xml have the same thing-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
を正常に動作しないconfのところの同じ種類を持っている他のモジュールのサービスがある
jdbc.driverClassName=org.hsqldb.jdbcDriver
jdbc.username=sa
jdbc.password=
jdbc.url=jdbc:hsqldb:file:target/mydb;create=true
テスト/リソースのプロパティのちょうどスニペットですテスト設定とライブ設定ファイルがあります。これも個別に問題はありません。ビルドはうまく動作し、正常に動作します。
モデルとサービスモジュールに必要なすべてのプロパティについて、webapp-config.xml
が/web pages/WEB-INF
とgeneral.properties
になりました。そうgeneral.properties
とwebapp-log4j.properties
たちは
jdbc.driverClassName=org.hsqldb.jdbcDriver
jdbc.username=sa
jdbc.password=
jdbc.url=jdbc:hsqldb:file:classpath:target/mynewdb;create=true
// ....
、それはまた、罰金構築し、問題と正常に動作していgeneral.propertiesでwebapp.hereのresources' default package
webapp-config.xml
<import resource="classpath:META-INF/model-config.xml" />
<import resource="classpath:META-INF/service-config.xml" />
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:general.properties</value>
<value>classpath:webapp-log4j.properties</value>
</list>
</property>
</bean>
の抜粋です。
:ログは言う:
ます。java.sql.SQLException:ターゲット/ mynewdb.propertiesのjava.io.FileNotFoundException:クラスパス:ターゲット/ mynewdb.properties入力/出力エラー・クラスパスをファイルを。 (そのようなファイルまたはディレクトリ)新しいフルデバッグ出力は、私はこれは私が
/media/Repo/myproject/mydb;create=true
として絶対URLをerror.itの実行中の罰金のこの種に直面しています初めてなので、本当に驚いているが、here
ですアイデアは、Webアプリケーションのターゲットにそれを持つことですターゲットフォルダが削除されると削除されます。
私は手がかりがありません。それは2日後です。 これをどのように修正できますか?ここに何か私はseei /していないのですか?これはMavenの設定によるものですか? 私のpomが表示されますhere これを読んでいただきありがとうございます。
iが削除classpathキーワード。 'jdbc.url = jdbc:hsqldb:file:mynewdb; create = true'も' jdbc.url = jdbc:hsqldb:fileもクラスパスを削除しなくても、モデルモジュール用に使用しています。 jdbc.url = jdbc:hsqldb:file:/ target/mynewdb; create = true'または 'jdbc.url = jdbc:hsqldb:file:target/mynewdb; create = true'は次のようになります。 jdbc:hsqldb:file: [] '(従来のフォームと同じセマンティクス) –