2016-11-09 10 views
0

간단한 응용 프로그램을 Java 응용 프로그램으로 성공적으로 실행했습니다. Hibernate 5.x, Jpa 2.1, Java EE7 (javaee-api 7.0) 응용 프로그램에서 사용 된 프레임 워크. 그리고 Jax-Rs 지원을 Tomcat 7에서 실행하고 싶습니다.Jax-RS (Jersey)가있는 Tomcat7에서 Jibera 5.x, Jpa 2.1, Java EE7 (javaee-api 7.0)을 실행하는 방법

ServletContextListener로 응용 프로그램을 시작할 때 오류가 발생했습니다. persistence.jar WEB_INF/lib 폴더가 보이지만 폴더로 보았습니다. beean이 생성되었습니다.

java.lang.NoClassDefFoundError: javax/persistence/Persistence 
    at com.ulger.app.EntityManagerFactoryMysql.buildEntiyManagerFactory(EntityManagerFactoryMysql.java:18) 
    at com.ulger.app.EntityManagerFactoryMysql.<clinit>(EntityManagerFactoryMysql.java:12) 
    at com.ulger.app.Server.configure(Server.java:10) 
    at com.ulger.app.Server.start(Server.java:6) 
    at com.ulger.app.Initializer.contextInitialized(Initializer.java:10) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: javax.persistence.Persistence 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) 
    ... 14 more 

바람둥이 디렉토리에 응용 프로그램의 폴더

enter image description here

배포 설명 enter image description here

의 pom.xml

<!-- Database Connector --> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.30</version> 
    </dependency> 
    <!-- Database Connector --> 

    <!-- Javax --> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>3.0.1</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.transaction</groupId> 
     <artifactId>jta</artifactId> 
     <version>1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>7.0</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.0.0.GA</version> 
     <scope>provided</scope> 
    </dependency> 
    <!-- Javax --> 

    <!-- Hibernate --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>5.0.1.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>5.2.1.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate.common</groupId> 
     <artifactId>hibernate-commons-annotations</artifactId> 
     <version>4.0.1.Final</version> 
     <classifier>tests</classifier> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate.javax.persistence</groupId> 
     <artifactId>hibernate-jpa-2.1-api</artifactId> 
     <version>1.0.0.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>5.0.1.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-envers</artifactId> 
     <version>5.0.1.Final</version> 
    </dependency> 
    <!-- Hibernate --> 

    <!-- Logging --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.6.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.logging</groupId> 
     <artifactId>jboss-logging</artifactId> 
     <version>3.2.0.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.6.1</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-logging</groupId> 
     <artifactId>commons-logging</artifactId> 
     <version>1.2</version> 
    </dependency> 
    <!-- Logging --> 

    <!-- JAX-RS (Jersey) --> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-core</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-servlet</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
    <!-- JAX-RS (Jersey) --> 

</dependencies> 
+1

하지 않도록하지만 난 더 높은 버전 바람둥이 7 지원 자바 EE7 – Acewin

+0

노력할 것입니다 않습니다에 바람둥이를 업그레이드 할 수 있습니다 바람둥이 – Ahmet

+0

6 버전까지 –

답변

1

Tomca t 7은 Java EE 7을 지원하지 않으며 WAR에서 이러한 클래스를로드하지 않습니다. Tomcat이 디버그 로그 출력을 내보내도록 재구성하면 그에 따라 WAR에서로드/스킵되지 않는 JAR 파일에 대한 해당 경고가 표시되어야합니다.

당신은 바람둥이 7을 지원합니까 버전으로 종속성을 다운 그레이드하려고 할 수 있습니다, 또는 당신은 버전 8

+0

나는 바람둥이 8과 9에서 뛰고있다. 나는 lifecycyle 예외를 gettng하고있다. – Ahmet

+0

Tomcat 8.5에서 작업했습니다. :) – Ahmet