アプリケーション コンテキストをロードする次のコード行があります。
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:META-INF/spring/spring-context.xml");
当初、私のプロジェクトはスタンドアロンの Maven プロジェクトでしたが、これはうまくいきました。プロジェクトを 2 つのモジュールに分割し、どちらも親 pom.xml を共有しています。これまでのすべてのテストは、Eclipse 内から行われました。
親ポン:
<groupId>parent</groupId>
<artifactId>parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>./config</module>
<module>./ds</module>
</modules>
子プロジェクト poms のヘッダー:
<parent>
<artifactId>parent</artifactId>
<groupId>parent</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>ds</groupId>
<artifactId>ds</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ds</name>
親ディレクトリには親の pom.xml だけがあり、2 つの子プロジェクトはこの下にあります。親 pom の maven コマンド ライン ビルドは正常に動作します。
ここで、アプリケーション コンテキストがロードされると (ここでも Eclipse から実行されます)、次のエラーがスローされます。
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:195)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:128)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:527)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:441)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.bc.pog.ds.app.Main.main(Main.java:28)
Caused by: java.lang.NullPointerException
at org.springframework.beans.factory.support.DefaultListableBeanFactory.<clinit>(DefaultListableBeanFactory.java:109)
... 7 more
プロジェクト内で Spring jar の衝突はありません。誰が何が間違っていて、それを修正する方法を知っていますか? どうもありがとう