Spring错误java.lang.NullPointerException
我的主要Spring错误java.lang.NullPointerException,java,eclipse,spring,Java,Eclipse,Spring,我的主要 import org.springframework.context.ApplicationContext; 导入org.springframework.context.support.ClassPathXmlApplicationContext; 公共类MainApp{ 公共静态void main(字符串[]args){ 系统输出打印号(“hola”); ApplicationContext上下文=新的ClassPathXmlApplicationContext(“Beans.xml
import org.springframework.context.ApplicationContext;
导入org.springframework.context.support.ClassPathXmlApplicationContext;
公共类MainApp{
公共静态void main(字符串[]args){
系统输出打印号(“hola”);
ApplicationContext上下文=新的ClassPathXmlApplicationContext(“Beans.xml”);
HelloWorld obj=(HelloWorld)context.getBean(“HelloWorld”);
obj.getMessage();
}
}
线程“main”java.lang.ExceptionInInitializeError中出现异常
位于org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:201)
位于org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:127)
位于org.springframework.context.support.AbstractApplicationContext.AcquitainFreshBeanFactory(AbstractApplicationContext.java:551)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:465)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83)
位于com.tutorialspoint.MainApp.main(MainApp.java:9)
原因:java.lang.NullPointerException
位于org.springframework.beans.factory.support。
DefaultListableBeanFactory。(DefaultListableBeanFactory.java:108)
... 还有7个
NullPointerException错误几乎为:
这意味着类无法获得自己的类加载器。你一定是做了一些非常糟糕的事情才导致了这个错误。检查您的JRE/JDK、IDE
更新
除此之外,您可能正在尝试将Spring JAR放入JRE的库文件夹(
${java.home}/JRE/lib
)。如果是这样,那就大错特错了。如果您真的想在JRE中包含外部JAR,那么将它们放在官方扩展目录-${java.home}/JRE/lib/ext
中,您在哪里存储了Beans.xml?我在Beans xml和packageMake中有src确保Beans.xml在您的类路径中,或者为Beans.xml提供正确的路径。是的,它确实在src上,您说的“src”是什么意思? 您的方案失败的一个可疑原因是ClassPathXmlApplicationContext()找不到Bean.xml文件。请确认这是否是问题所在。请参阅@Pheonix的评论。
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp {
public static void main(String[] args) {
System.out.println("hola");
ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
obj.getMessage();
}
}
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:201)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:127)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:551)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:465)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.tutorialspoint.MainApp.main(MainApp.java:9)
Caused by: java.lang.NullPointerException
at org.springframework.beans.factory.support.
DefaultListableBeanFactory.<clinit>(DefaultListableBeanFactory.java:108)
... 7 more
static {
ClassLoader cl = DefaultListableBeanFactory.class.getClassLoader();
try {
javaxInjectProviderClass = cl.loadClass("javax.inject.Provider"); /* line 108 */
} catch (ClassNotFoundException ex) {
// JSR-330 API not available - Provider interface simply not supported then.
}
}