2016-10-26 9 views
2

これは私の主な方法です。アプリケーションコンテキストでエラーが発生します。 XMLファイルも追加しました。スレッド "main"の例外java.lang.NoSuchMethodError:org.springframework.beans.support.ResourceEditorRegistrar

public class Main { 
    public static void main(String[] args) throws SchedulerException { 
     ApplicationContext appContext = new ClassPathXmlApplicationContext("spring/config/BeanLocations.xml"); 

     MailDao maildao = (MailDao)appContext.getBean("MailDao"); 

     MailBean mail = new MailBean(); 
     /** insert **/ 
     Scanner sc = new Scanner(System.in) ; 
     System.out.println("Enter the from address\n"); 
     String fromAdd = sc.nextLine(); 
     mail.setFromAdd(fromAdd); 

     System.out.println("Enter the To address\n"); 
     String toAddress = sc.nextLine(); 
     mail.setToAdd(toAddress); 

     System.out.println("Enter the Subject\n"); 
     String sub = sc.nextLine(); 
     mail.setSubject(sub); 

     System.out.println("Enter the Message\n"); 
     String msg = sc.nextLine(); 
     mail.setMessage(msg); 

     mail.setAttachements(null); 

     /*for getting current time */ 
     Calendar calendar = Calendar.getInstance(); 
     java.util.Date now = calendar.getTime(); 
     java.sql.Timestamp msgdate = new java.sql.Timestamp(now.getTime()); 
     mail.setDate(msgdate); 

     mail.setSnt_status(false); 

     maildao.save(mail); 
    } 
} 

BeanLocations.xml

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 
    <!-- Database Configuration --> 
    <import resource="../database/DataSource.xml"/> 
    <import resource="../database/Hibernate.xml"/> 

    <!-- Beans Declaration --> 
    <import resource="../beans/Mail.xml"/> 
</beans> 

DataSource.xml

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <property name="location"> 
      <value>properties/database.properties</value> 
     </property> 
    </bean> 

    <bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="${jdbc.driverClassName}" /> 
     <property name="url" value="${jdbc.url}" /> 
     <property name="username" value="${jdbc.username}" /> 
     <property name="password" value="${jdbc.password}" /> 
    </bean> 
</beans> 

Hibernate.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" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 

    <!-- Hibernate session factory --> 
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
     <property name="dataSource"> 
      <ref bean="dataSource"/> 
     </property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop> 
       <prop key="hibernate.show_sql">true</prop> 
      </props> 
     </property>  

     <!-- Drop and re-create the database schema on startup --> 
     <!--<property name="hibernate.hbm2ddl.auto">update</property>--> 

     <property name="mappingResources"> 
      <list> 
       <value>/hibernate/Mail.hbm.xml</value> 
      </list> 
     </property> 
    </bean> 
</beans> 

私はライン<property name="hibernate.hbm2ddl.auto">update</property>のコメントを解除した場合、私は次のエラーを取得する:

cvc-complex-type.2.3: Element 'property' cannot have character [children], because the type's content type is element-only.

今、私はこのエラーを取得しています。この行で

Exception in thread "main" java.lang.NoSuchMethodError: org.springframework.beans.support.ResourceEditorRegistrar.<init>(Lorg/springframework/core/io/ResourceLoader;)V 
    at org.springframework.context.support.AbstractApplicationContext.prepareBeanFactory(AbstractApplicationContext.java:446) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:355) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
    at com.RML.Main.Main.main(Main.java:43) 

ApplicationContext appContext = new ClassPathXmlApplicationContext("spring/config/BeanLocations.xml");

の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>RMLApplication</groupId> 
    <artifactId>RMLApplication</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>RMLApplication</name> 
    <url>http://maven.apache.org</url> 



    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <repositories> 
    <repository> 
     <id>Java.Net</id> 
     <url>http://download.java.net/maven/2/</url> 
    </repository> 
    </repositories> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 


    <!-- Java Mail API --> 
    <!-- https://mvnrepository.com/artifact/javax.mail/mail --> 
    <dependency> 
     <groupId>javax.mail</groupId> 
     <artifactId>mail</artifactId> 
     <version>1.4.7</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.apache.derby/derbyclient --> 
    <dependency> 
     <groupId>org.apache.derby</groupId> 
     <artifactId>derbyclient</artifactId> 
     <version>10.12.1.1</version> 
    </dependency> 

    <!-- Spring AOP dependency --> 

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-aop --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aop</artifactId> 
     <version>4.3.3.RELEASE</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/cglib/cglib --> 
    <dependency> 
     <groupId>cglib</groupId> 
     <artifactId>cglib</artifactId> 
     <version>3.2.4</version> 
    </dependency> 

    <!-- Hibernate framework --> 

    <!-- https://mvnrepository.com/artifact/javax.validation/validation-api --> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.1.0.Final</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>5.3.0.Final</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>5.2.3.Final</version> 
    </dependency> 


    <!-- Hibernate library dependecy start --> 

     <!-- https://mvnrepository.com/artifact/dom4j/dom4j --> 
    <dependency> 
     <groupId>dom4j</groupId> 
     <artifactId>dom4j</artifactId> 
     <version>1.6.1</version> 
    </dependency> 

    <!-- Quartz API --> 
    <!-- https://mvnrepository.com/artifact/org.opensymphony.quartz/quartz --> 
    <dependency> 
     <groupId>org.opensymphony.quartz</groupId> 
     <artifactId>quartz</artifactId> 
     <version>1.6.1</version> 
    </dependency> 



    <!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz --> 
    <dependency> 
     <groupId>org.quartz-scheduler</groupId> 
     <artifactId>quartz</artifactId> 
     <version>2.2.3</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz-jobs --> 
    <dependency> 
     <groupId>org.quartz-scheduler</groupId> 
     <artifactId>quartz-jobs</artifactId> 
     <version>2.2.3</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging --> 
    <dependency> 
     <groupId>commons-logging</groupId> 
     <artifactId>commons-logging</artifactId> 
     <version>1.2</version> 
    </dependency> 

    <!-- Hibernate library dependecy end --> 



    <!-- https://mvnrepository.com/artifact/commons-collections/commons-collections --> 
    <dependency> 
     <groupId>commons-collections</groupId> 
     <artifactId>commons-collections</artifactId> 
     <version>3.2.2</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.apache.directory.studio/org.apache.commons.logging --> 
    <dependency> 
     <groupId>org.apache.directory.studio</groupId> 
     <artifactId>org.apache.commons.logging</artifactId> 
     <version>1.1.3</version> 
    </dependency> 


    <!-- Spring framework --> 
    <!-- https://mvnrepository.com/artifact/org.springframework/spring --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring</artifactId> 
     <version>2.5.6</version> 
    </dependency> 


     <!-- log4j --> 

    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.7.21</version> 
    </dependency> 

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.7.21</version> 
    </dependency> 


    <dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.17</version> 
</dependency> 


    </dependencies> 
</project> 

私はこのエラー

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [spring/database/Hibernate.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/cache/CacheProvider 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:757) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
    at com.RML.Main.Main.main(Main.java:44) 
Caused by: java.lang.NoClassDefFoundError: org/hibernate/cache/CacheProvider 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 
    at java.lang.Class.privateGetPublicMethods(Class.java:2902) 
    at java.lang.Class.getMethods(Class.java:1615) 
    at org.springframework.beans.ExtendedBeanInfoFactory.supports(ExtendedBeanInfoFactory.java:54) 
    at org.springframework.beans.ExtendedBeanInfoFactory.getBeanInfo(ExtendedBeanInfoFactory.java:46) 
    at org.springframework.beans.CachedIntrospectionResults.<init>(CachedIntrospectionResults.java:270) 
    at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:189) 
    at org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:173) 
    at org.springframework.beans.BeanWrapperImpl.getLocalPropertyHandler(BeanWrapperImpl.java:226) 
    at org.springframework.beans.BeanWrapperImpl.getLocalPropertyHandler(BeanWrapperImpl.java:63) 
    at org.springframework.beans.AbstractNestablePropertyAccessor.getPropertyHandler(AbstractNestablePropertyAccessor.java:725) 
    at org.springframework.beans.AbstractNestablePropertyAccessor.isWritableProperty(AbstractNestablePropertyAccessor.java:557) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1483) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) 
    ... 11 more 
Caused by: java.lang.ClassNotFoundException: org.hibernate.cache.CacheProvider 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 27 more 
を取得しています

Mail.hbm.xml

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 


    <!-- Stock Data Access Object --> 
    <bean id="MailDao" class="com.RML.Dao.Impl.MailDaoImpl" > 
     <property name="sessionFactory" ref="sessionFactory"></property> 
    </bean> 


</beans> 

答えて

0

Hibernate.xmlファイル内のプロパティの小道具タグ内

<prop key="hibernate.hbm2ddl.auto">update</prop> 

としての特性を置きます。

それは次のようになります。私は質問を更新してい

<property name="hibernateProperties"> 
    <props> 
     <prop key="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop> 
     <prop key="hibernate.show_sql">true</prop> 
     <prop key="hibernate.hbm2ddl.auto">update</prop> 
    </props> 
</property> 
+0

あなたには、いくつか欠落しているjarファイルを持っているように、@アブヘイジャイナ –

+0

が見えます。 –

+0

追加したジャーを表示できますか? –

関連する問題