2012-04-05 16 views
0

Ich versuche, Anwendung von Grund auf neu zu erstellen. Im neuen Maven-Projekt füge ich viele Abhängigkeiten hinzu, erstelle persistence.xml, application.xml und modifiziere web.xml. Stellen Sie auch einige Entitäten und Controller vor. Weiter im Versuch, es auf Anlegestelle mit mvn Anlegestelle zu laufen: run, und dann habe ich diese Ausnahme:Spring 3 Hibernate JPA 2.0 Maven und Wert '2.0' Fehler

org.xml.sax.SAXParseException: cvc-complex-type.3.1: Value '2.0' of attribute 'version' of element 'persistence' is not valid with respect to the corresponding attribute use. Attribute 'version' has a fixed value of '1.0'. 

Nach googeln i learnd, es könnte sein, weil ich in Klassenpfad mehrere Realisierung von PPV habe, und einer von sie sind wahrscheinlich 1,0. Aber ich kann nicht verstehen, wo es sein kann, weil ich nur die neueste Version des Hibernate-Eniry-Managers verwende und ausdrücklich keine andere Erkenntnis hinzufüge. Wo kann es einen Fehler geben? Kann Problem sein, weil ich viele Frühlingsabhängigkeiten hinzufügte?

<dependencies> 
     <!-- 1111111 --> 
     <dependency> 
      <groupId>taglibs</groupId> 
      <artifactId>standard</artifactId> 
      <version>1.1.2</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2</version> 
     </dependency> 

     <!-- 2222222 --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>4.1.0.Final</version> 
     </dependency> 

     <!-- 33333333 --> 
     <dependency> 
      <groupId>org.hsqldb</groupId> 
      <artifactId>hsqldb</artifactId> 
      <version>2.0.0</version> 
     </dependency> 

     <!-- 4444444 --> 
     <!--Core utilities used by other modules. Define this if you use Spring Utility APIs (org.springframework.core.*/org.springframework.util.*)--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!--Expression Language (depends on spring-core) Define this if you use Spring Expression APIs (org.springframework.expression.*)--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-expression</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!--Bean Factory and JavaBeans utilities (depends on spring-core) Define this if you use Spring Bean APIs (org.springframework.beans.*)--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-beans</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!--Aspect Oriented Programming (AOP) Framework (depends on spring-core, spring-beans) Define this if you use Spring AOP APIs (org.springframework.aop.*)--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-aop</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!--Application Context (depends on spring-core, spring-expression, spring-aop, spring-beans) This is the central artifact for Spring's Dependency Injection Container and is generally always Defined--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!--Various Application Context utilities, including EhCache, JavaMail, Quartz, and Freemarker integration Define this if you need any of these integrations--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context-support</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!--Transaction Management Abstraction (depends on spring-core, spring-beans, spring-aop, spring-context) Define this if you use Spring Transactions or DAO Exception Hierarchy(org.springframework.transaction.*/org.springframework.dao.*)--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-tx</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!--JDBC Data Access Library (depends on spring-core, spring-beans, spring-context, spring-tx) Define this if you use Spring's JdbcTemplate API (org.springframework.jdbc.*)--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-jdbc</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!--Object-to-Relation-Mapping (ORM) integration with Hibernate, JPA, and iBatis.(depends on spring-core, spring-beans, spring-context, spring-tx) Define this if you need ORM (org.springframework.orm.*)--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-orm</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!-- Object-to-XML Mapping (OXM) abstraction and integration with JAXB, JiBX, Castor, XStream, and XML Beans.(depends on spring-core, spring-beans, spring-context) Define this if you need OXM (org.springframework.oxm.*) 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-oxm</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> --> 
     <!--Web application development utilities applicable to both Servlet and Portlet Environments(depends on spring-core, spring-beans, spring-context) Define this if you use Spring MVC, or wish to use Struts, JSF, or another web framework with Spring (org.springframework.web.*)--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!--Spring MVC for Servlet Environments (depends on spring-core, spring-beans, spring-context, spring-web) Define this if you use Spring MVC with a Servlet Container such as Apache Tomcat (org.springframework.web.servlet.*)--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!--Spring MVC for Portlet Environments (depends on spring-core, spring-beans, spring-context, spring-web) Define this if you use Spring MVC with a Portlet Container (org.springframework.web.portlet.*)--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc-portlet</artifactId> 
      <version>${org.springframework.version}</version> 
     </dependency> 
     <!--Support for testing Spring applications with tools such as JUnit and TestNGThis artifact is generally always Defined with a 'test' scope for the integration testing framework and unit testing stubs--> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
      <version>${org.springframework.version}</version> 
      <scope>test</scope> 
     </dependency> 


     <!-- 55555555 --> 
     <dependency> 
      <groupId>commons-pool</groupId> 
      <artifactId>commons-pool</artifactId> 
      <version>1.6</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-dbcp</groupId> 
      <artifactId>commons-dbcp</artifactId> 
      <version>1.4</version> 
     </dependency> 

    </dependencies> 

und meine persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.0" 
      xmlns="http://java.sun.com/xml/ns/persistence" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 

    <persistence-unit name="units" transaction-type="RESOURCE_LOCAL"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <properties> 
      <property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver"/> 
      <property name="javax.persistence.jdbc.user" value="sa"/> 
      <property name="javax.persistence.jdbc.password" value=""/> 
      <property name="javax.persistence.jdbc.url" value="jdbc:hsqldb:mem:."/> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> 
      <property name="hibernate.max_fetch_depth" value="3"/> 
      <property name="hibernate.hbm2ddl.auto" value="create-drop"/> 
     </properties> 
    </persistence-unit> 

</persistence> 

$ {org.springframework.version} = 3.0.0.RELEASE

wenn da noch etwas anderes - i

P. S. bieten kann Entschuldigung für Englisch

+0

Basierend darauf würde ich annehmen, dass die Spring-Framework-Version nicht mit Ihrer persistence.xml oder umgekehrt passt. Aber ich weiß nicht, aus welcher Ihrer persistence.xml-Dateien die Fehlermeldung erzeugt wird. – khmarbaise

+0

Vielleicht könnten Sie 'mvn dependency: tree' ausführen und sehen, ob es einen Hinweis auf eine ältere JPA-Bibliothek gibt. Sie könnten die Frage mit dieser – Raghuram

+0

ja aktualisieren, wahrscheinlich ist in, dass Frühling vesrion Konflikt mit persistent.xml. Nachdem ich die Version in 3.1.1.RELEASE geändert habe, scheint alles in Ordnung zu sein. Vielen Dank – Chris

Antwort

0

IMHO Ihr POM, seine Abhängigkeiten und die persistence.xml Datei sieht OK aus. Ich sehe keinen Grund, warum JPA 1.0 zumindest auf Ihrer Anwendungsseite Vorrang vor JPA 2.0 hat. Daher sollten Sie die andere Seite überprüfen, also Ihre Jetty-Instanz, für die Sie die Anwendung bereitstellen. Stellen Sie sicher, dass seine libs (die dem Klassenpfad der Anwendung zur Verfügung gestellt werden) keine JPA 1.0 enthalten (seine Umsetzung, wie die alte Hibernate-Version), da JPA 1.0 Vorrang hat. Ich sehe wirklich keinen anderen Grund als die alte JPA-Implementierung im Klassenpfad.

Alternativ versuchen Sie einfach, Vanilla Tomcat herunterzuladen, entpacken Sie es und stellen Sie Ihre App so dar, wie es ist (WAR-Datei). Dies stellt sicher, dass die Anwendung in Ordnung ist und dies das Problem eines Containers ist.

+0

Vielen Dank auch – Chris

Verwandte Themen