次のように、この JAR の同じパスの下にある、データソース XML 構成「db2.xml」を使用してデータベース接続プールを作成するために使用される共通の jar を取得しました。
Project/
-- lib
-- db2.xml
-- common.jar
db2.xml を読み取るためのコードに従います。
private BeanFactory() {
try {
beanFactory = new DefaultListableBeanFactory();
xmlReader = new XmlBeanDefinitionReader((BeanDefinitionRegistry)
beanFactory);
resource = new ClassPathResource("db2.xml");
xmlReader.loadBeanDefinitions(resource);
} catch (Exception e) {
e.printStackTrace();
}
}
常にエラーが発生します:
org.springframework.beans.factory.BeanDefinitionStoreException: IOException
parsing XML document from class path resource [db2.xml]; nested exception is
java.io.FileNotFoundException: class path resource [db2.xml] cannot be opened
because it does not exist
したがって、「db2.xml」が見つからないことが原因であるに違いありません。構成ファイルが設定されているresource = new ClassPathResource("/db2.xml")
か、resource = new ClassPathResource("lib/db2.xml")
またはresource = new ClassPathResource("../lib/db2.xml")
; 私はまったくうまくいきません。これに相対パスを設定するにはどうすればよいですか。
resource = new ClassPathResource(CONFIGURATION_PATH);
これは Java プロジェクトです。db2.xml を共通の jar に入れると機能します。