eclipse中的Spring classpath问题

时间:2012-11-06 20:24:30

标签: java eclipse spring

我正在尝试将Spring应用程序设置为第一次在eclipse中运行。我是作为一个独立的Java应用程序运行它。该应用程序构建没有任何错误,但当我去执行它时,我得到一个带有以下堆栈跟踪的ClassNotFoundException:

DataLoadService [Java Application]  
    com.pikefin.services.DataLoadService at localhost:52871 
        Thread [main] (Suspended (exception ClassNotFoundException))    
            URLClassLoader$1.run() line: 217    
            AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]   
            Launcher$AppClassLoader(URLClassLoader).findClass(String) line: 205 
            Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: 321   
            Launcher$AppClassLoader.loadClass(String, boolean) line: 294    
            Launcher$AppClassLoader(ClassLoader).loadClass(String) line: 266    
            ClassPathXmlApplicationContext(AbstractApplicationContext).<init>(ApplicationContext) line: 161 
            ClassPathXmlApplicationContext(AbstractRefreshableApplicationContext).<init>(ApplicationContext) line: 90   
            ClassPathXmlApplicationContext(AbstractRefreshableConfigApplicationContext).<init>(ApplicationContext) line: 59 
            ClassPathXmlApplicationContext(AbstractXmlApplicationContext).<init>(ApplicationContext) line: 61   
            ClassPathXmlApplicationContext.<init>(String[], boolean, ApplicationContext) line: 136  
            ClassPathXmlApplicationContext.<init>(String) line: 83  
            DataLoadService.main(String[]) line: 20 
    /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin/java (Nov 6, 2012 1:14:23 PM)

这一行代码正在发生:

ApplicationContext context=new ClassPathXmlApplicationContext("classpath:spring.xml");

spring.xml在构建过程中被移动到类/文件夹中,所以我尝试将类文件夹添加到启动配置中(参见屏幕截图)。

enter image description here

我正在使用eclipse 3.7.2和spring 3.1.1

2 个答案:

答案 0 :(得分:0)

检查弹簧库。此问题与项目构建路径和配置有关。

答案 1 :(得分:0)

我不知道spring,但以下是可疑的:

ApplicationContext context=new ClassPathXmlApplicationContext("classpath:spring.xml");

也许应该是

ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");

例如,在this question中,用法是

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

除非您的文件实际上是classpath:spring.xml,而不是sprint.xml,但我对此表示怀疑。