2017-06-06 11 views
0

は基本的に私のポンポン構造の依存関係がによって引き起こさ取得しています:この例外

<dependencies> 
    <!-- Spring --> 

    <dependency> 
     <groupId>org.hibernate.common</groupId> 
     <artifactId>hibernate-commons-annotations</artifactId> 
     <version>4.0.4.Final</version> 
    </dependency> 

    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>${org.springframework-version}</version> 
    <exclusions> 
    <!-- Exclude Commons Logging in favor of SLF4j --> 
    <exclusion> 
    <groupId>commons-logging</groupId> 
    <artifactId>commons-logging</artifactId> 
    </exclusion> 
    </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-web-api</artifactId> 
     <version>7.0</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jdbc</artifactId> 
    <version>${org.springframework-version}</version> 
    </dependency>  
    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-orm</artifactId> 
    <version>${org.springframework-version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aop</artifactId> 
     <version>${org.springframework-version}</version> 
    </dependency> 

    <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-tx</artifactId> 
      <version>${org.springframework-version}</version> 
     </dependency> 

    <dependency> 
    <groupId>org.springframework.webflow</groupId> 
    <artifactId>spring-webflow</artifactId> 
    <version>${org.springwebflow-version}</version> 
    </dependency> 
    <dependency> 
    <groupId>org.springframework.webflow</groupId> 
    <artifactId>spring-js</artifactId> 
    <version>${org.springjs-version}</version> 
    </dependency> 

    <!-- Database, JPA --> 
    <dependency> 
    <groupId>org.hsqldb</groupId> 
    <artifactId>hsqldb</artifactId> 
    <version>${hsqldb.version}</version> 

    </dependency> 

    <!-- MySQL database driver --> 
    <dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>${mysql.connector-version}</version> 
    </dependency> 


    <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>${hibernate-version}</version> 
    </dependency> 

    <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-envers</artifactId> 
    <version>${hibernate-envers-version}</version> 
    </dependency> 
    <!-- Servlet --> 
    <dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>${servlet-api-version}</version> 
    <scope>provided</scope> 
    </dependency> 



    <dependency> 
    <groupId>javax.servlet.jsp</groupId> 
    <artifactId>jsp-api</artifactId> 
    <version>${jsp-version}</version> 
    <scope>provided</scope> 
    </dependency> 
    <dependency> 
      <groupId>jstl</groupId> 
      <artifactId>jstl</artifactId> 
      <version>${jstl-version}</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>4.3.3.Final</version> 
</dependency> 


    </dependencies> 

と例をしようとしていますようになりjavax.persistence.JoinColumn.foreignKey()Ljavax /持続/のForeignKey:java.lang.NoSuchMethodErrorのEhcacheの第二レベルの例と私のプロジェクト構造の enter image description here

のように見えると私は

<?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.xsd"> 

    <!-- Root Context: defines shared resources visible to all other web components --> 
    <import resource="classpath*:/META-INF/mvc-config/servlet-context.xml"/> 
    <!-- <import resource="classpath*:/META-INF/security-config/spring-security.xml"/> --> 
</beans> 
としての私のルートのcontext.xmlを宣言しました

そして、私のサーブレットcontextt.xmlは

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

    <!-- DispatcherServlet Context: defines this servlet's request-processing 
     infrastructure --> 

    <!-- Enables the Spring MVC @Controller programming model --> 
    <annotation-driven /> 

    <!-- Enables Transaction Annotations --> 
    <tx:annotation-driven transaction-manager="transactionManager"/> 
    <context:annotation-config></context:annotation-config> 

    <!-- Get AppData properties file --> 
    <beans:bean id="appProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <beans:property name="location" value="classpath:META-INF/application.properties" /> 
    </beans:bean> 

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving 
     up static resources in the ${webappRoot}/resources directory --> 
    <resources mapping="/resources/**" location="/resources/, file:/${appDataPath}/" /> 

    <!-- Definition for view resolver --> 
      <beans:bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
      <beans:property name="prefix" value="/WEB-INF/views/"/> 
      <beans:property name="suffix" value=".jsp"/> 
      </beans:bean> 





    <!-- DataSource Bean --> 
    <beans:bean id="dataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <beans:property name="driverClassName" value="${DB.DRIVER}" /> 
     <beans:property name="url" 
      value="${DB.URL}" /> 
     <beans:property name="username" value="${DB.UNAME}" /> 
     <beans:property name="password" value="${DB.PASS}"/> 
    </beans:bean> 


    <!-- SessionFactory Bean --> 
    <beans:bean id="sessionFactory" 
     class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
     <beans:property name="dataSource" ref="dataSource" /> 
     <beans:property name="packagesToScan" value="com.darshan" /> 
     <beans:property name="hibernateProperties"> 
      <beans:props> 
       <beans:prop key="hibernate.dialect">${hibernate.dialect}</beans:prop> 
       <beans:prop key="hibernate.show_sql">${hibernate.show_sql}</beans:prop> 
       <beans:prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</beans:prop> 
       <beans:prop key="net.sf.ehcache.configurationResourceName">${net.sf.ehcache.configurationResourceName}</beans:prop> 
       <beans:prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory_class}</beans:prop> 
       <beans:prop key="hibernate.hbm2ddl.auto">${hibernate.UPDATE_CREATE}</beans:prop> 
       <beans:prop key="hbm2ddl.auto">${hbm2ddl.auto}</beans:prop> 
      </beans:props> 
     </beans:property> 
    </beans:bean> 

    <!-- TransactionManager --> 

    <beans:bean id="transactionManager" 
     class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
     <beans:property name="sessionFactory" ref="sessionFactory" /> 
    </beans:bean> 

    <beans:bean id="messageSource" 
     class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
     <beans:property name="basename" value="classpath:META-INF/validation" /> 
     <beans:property name="defaultEncoding" value="UTF-8" /> 
    </beans:bean> 

    <context:component-scan base-package="com.darshan.mn" /> 

</beans:beans> 

Application.propertiesが

#-- Contains the application configuration data --# 
#--- Base file path for storing the files & images ---# 
appDataPath=E:/eSchool/appData 

#--- Database Props ---# 
DB.DRIVER=com.mysql.jdbc.Driver 
DB.URL=jdbc:mysql://localhost:3306/interview_preparation 
DB.UNAME=root 
DB.PASS=tiger 

#--- File Upload: 10MB---# 
maxFileUploadSize=100000000 

#--- Java Mail Props ---# 
mail.smtp.auth=true 
mail.smtp.starttls.enable=true 
mail.smtp.host=smtp.mailgun.org 
mail.smtp.port=587 
mail.debug=false 

#--- MailGun API Props ---# 
[email protected]mailgun.org 
mailGunPass=cdf6e6fe99fe01efe669939c6c8c6301 

#--- HibernateConfig ---# 
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 
hibernate.show_sql=true 
hibernate.UPDATE_CREATE=update 
hbm2ddl.auto=update 
hibernate.hbm2ddl.auto=create 
hibernate.cache.use_second_level_cache=true 
hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory 
net.sf.ehcache.configurationResourceName=ehcache.xml 

のように見えている

package com.darshan.mn.model; 

import java.util.Set; 

import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 
import javax.persistence.OneToMany; 

import org.hibernate.annotations.BatchSize; 
import org.hibernate.annotations.Cache; 
import org.hibernate.annotations.CacheConcurrencyStrategy; 
import org.hibernate.annotations.Fetch; 
import org.hibernate.annotations.FetchMode; 

@Entity 
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE,region="departmentList") 
public class Department 
{ 

    @Id 
    @GeneratedValue(strategy=GenerationType.AUTO) 
    private int id; 
    private String departmentName; 


    @OneToMany(mappedBy="department") 
    @Fetch(FetchMode.JOIN) 
    @BatchSize(size=1) 
    Set<Employee> employees; 


    public int getId() { 
     return id; 
    } 
    public void setId(int id) { 
     this.id = id; 
    } 
    public String getDepartmentName() { 
     return departmentName; 
    } 
    public void setDepartmentName(String departmentName) { 
     this.departmentName = departmentName; 
    } 
    public Set<Employee> getEmployees() { 
     return employees; 
    } 
    public void setEmployees(Set<Employee> employees) { 
     this.employees = employees; 
    } 

} 

はすべてGoogleで解決策が、運をしようとしていますように私のモデルクラスに見えます:-(

助けてください

答えて

0

完全に回答するには完全なスタックトレースが必要です。しかし、世界的にはJoinColumn.foreignKey()という名前のものは、あなたのクラスパスに現在あるものとは異なるJPAバージョンが必要です。

あなたが使っているものを確認することができますSystem.out.println(getClass().getResource("/javax/persistence/JoinColumn.class"));

関連する問題