JAR と WAR を含む EAR と、Spring 定義を含む beans.xml があります。このプロジェクトのビルドには Maven を使用しています。JAR 内のコードが beans.xml を見つけようとしていますが、見つかりません。
beans.xml が必要ですか:
EAR の META-INF/beans.xml?
または
JARのMETA-INF/beans.xml?
私は次のことを試しました:
失敗 1: JAR の META-INF/beans.xml
String CONFIG_FILE_NAME = "META-INF/beans.xml";
ApplicationContext context = new FileSystemXmlApplicationContext(CONFIG_FILE_NAME);
BeanFactory factory = context;
これは与える:
BeansDeployer deploy org.apache.webbeans.exception.WebBeansException: 指定された入力ストリームのルート要素を読み取れません。... 原因: java.net.ConnectException: 接続タイムアウト: 接続
失敗 2: EAR の META-INF/beans.xml
String CONFIG_FILE_NAME = "classpath*:/META-INF/*beans.xml";
ApplicationContext context = new ClassPathXmlApplicationContext(CONFIG_FILE_NAME);
BeanFactory factory = context;
アプリケーションを EAR するときに、maven-ear-plugin は application.xml のみをコピーし、beans.xml を含めないため、これにより FileNotFoundException が発生します。これが正しい方法である場合、ビルド時に Maven に beans.xml を含める方法はありますか?
それとも、完全に別の場所に配置する必要がありますか?
よろしく