在Eclipse中加载ClassPathXmlApplicationContext

时间:2013-08-27 18:52:04

标签: eclipse spring maven

我有以下代码行来加载应用程序上下文:

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:META-INF/spring/spring-context.xml");

最初,我的项目是一个独立的maven项目,这很好用。 我现在已将项目拆分为两个模块,两个模块共享一个父pom.xml。 到目前为止,我所有的测试都来自Eclipse

父母pom:

<groupId>parent</groupId>
<artifactId>parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>

<modules>
  <module>./config</module>
  <module>./ds</module>
</modules>

儿童项目的标题:

<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,并且两个子项目位于此目录之下。 父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的冲突。 有谁知道什么是错的以及如何解决它? 非常感谢

0 个答案:

没有答案