2016-02-29 139 views
0

我正在按照春天的教程和一切工作正常,直到我克隆我的项目,现在克隆项目和原始项目不想工作,我已经搜索槽整个堆栈溢出类似的问题,我无法解决问题,我已经清理项目,重新启动日食,更新,添加并从pom.xml中删除依赖项,似乎没有任何工作。(Maven项目)无法找到或加载主类“类”

这里是我的主类:

package com.caveofprogramming.spring.test; 

import java.util.ArrayList; 
import java.util.List; 

import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 
import com.caveofprogramming.spring.test.Offer; 
import com.caveofprogramming.spring.test.OfferDAO; 


public class Tester { 

    public static void main(String[] args) { 



     ApplicationContext context = new ClassPathXmlApplicationContext(
       "com/caveofprogramming/spring/test/beans/beans.xml"); 

     OfferDAO offersDao = (OfferDAO) context.getBean("offerDao"); 



     try { 

      List<Offer> offers= new ArrayList<Offer>(); 
      offers.add(new Offer(1,"Pepito", "[email protected]", "i know css and html5")); 
      offers.add(new Offer(2, "Juancito", "[email protected]", "i know about rest and play")); 
      offers.add(new Offer(3, "Juancho Tazo", "[email protected]", "im an expert on SPEL and SQL!")); 

      if(offersDao.Create(offers).length==offers.size()){ 

       for (int i = 0; i < offers.size(); i++) { 

        System.out.println(offers.get(i).getName()+" record was created succesfully"); 

       } 

       System.out.println("All the new records were created succesfully"); 

      } 

      else{ 
       System.out.println("One or more of the records were not createdS"); 
      } 

     } catch (Exception e) { 
      e.getMessage(); 
     } 

     ((ClassPathXmlApplicationContext) context).close(); 

    } 

} 

的beans.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">  

    <context:component-scan base-package="com.caveofprogramming.spring.test" /> 
    <context:property-placeholder 
     location="com/caveofprogramming/spring/props/jdbc.properties" /> 

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 
     destroy-method="close"> 
     <property name="driverClassName" value="${jdbc.driver}"></property> 
     <property name="url" value="${jdbc.url}"></property> 
     <property name="username" value="${jdbc.username}"></property> 
     <property name="password" value="${jdbc.password}"></property> 

    </bean> 

    <bean id="transactionManager" 
     class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
     <property name="dataSource" ref="dataSource"></property> 
    </bean> 
    <tx:annotation-driven /> 




</beans> 

的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.caveofprogramming.spring.test</groupId> 
    <artifactId>spring-tutorial-5</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <dependencies> 


    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>4.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>3.2.3.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>3.2.3.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.inject</groupId> 
     <artifactId>javax.inject</artifactId> 
     <version>1</version> 
    </dependency> 

    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-expression</artifactId> 
    <version>3.2.3.RELEASE</version> 
</dependency> 

    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.6</version> 
    </dependency> 

    <dependency> 
    <groupId>commons-dbcp</groupId> 
    <artifactId>commons-dbcp</artifactId> 
    <version>1.4</version> 
</dependency> 
    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jdbc</artifactId> 
    <version>4.2.5.RELEASE</version> 
</dependency> 

<dependency> 
    <groupId>org.aspectj</groupId> 
    <artifactId>aspectjweaver</artifactId> 
    <version>1.8.6</version> 
</dependency> 

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-context</artifactId> 
    <version>3.2.2.RELEASE</version> 
</dependency> 




    </dependencies> 
</project> 

使我说,当我复制粘贴项目在我的同一个工作区,一切都开始失败,当然我改变了名字。

这个错误我得到它后做一个maven干净。

如果我不这样做,我得到错误:喜欢你缺少类EventListenerFactory

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [com/caveofprogramming/spring/test/beans/beans.xml]; nested exception is java.lang.NoClassDefFoundError: org/springframework/context/event/EventListenerFactory 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:412) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243) 
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127) 
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93) 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
    at com.caveofprogramming.spring.test.App.main(App.java:13) 
Caused by: java.lang.NoClassDefFoundError: org/springframework/context/event/EventListenerFactory 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.access$100(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at org.springframework.transaction.config.AnnotationDrivenBeanDefinitionParser.registerTransactionalEventListenerFactory(AnnotationDrivenBeanDefinitionParser.java:92) 
    at org.springframework.transaction.config.AnnotationDrivenBeanDefinitionParser.parse(AnnotationDrivenBeanDefinitionParser.java:60) 
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73) 
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1438) 
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1428) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:185) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:139) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:108) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) 
    ... 14 more 
Caused by: java.lang.ClassNotFoundException: org.springframework.context.event.EventListenerFactory 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 36 more 

    enter code here 

回答

1

正如你看到here自4.2以来增加的那样,尝试将pom.xml中的所有弹簧依赖项更新为4.2.5.RELEASE

+0

嘿,非常感谢,我更新了所有春天的依赖到4.0版本,它现在可以工作!谢谢! –

0

看起来。在Maven 假象 org.springframework 春天上下文

定义 它添加在你的pom.xml 使用相同的版本,为您的春季的其他文物依赖这个假象。

+0

嗨,似乎错误出现时,我尝试添加tx名称空间的模式。 一样,在beans.xml中,当添加: 的xmlns:TX = “http://www.springframework.org/schema/tx” 和 的xsi:的schemaLocation = HTTP:// WWW。 springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd 当我删除它们时,程序再次正常工作,但是当我将它们添加回来时,程序抛出OP上提到的错误。 –

相关问题