2014-01-28 2 views
1

openxava + maven + tomcat7 통합에 문제가 있습니다. Openxava의 라이브러리는 MAVEN 프로젝트에 통합되었습니다. ECLIPSE에서 응용 프로그램을 실행하고이 예외를 throw합니다.Openxava + Maven + Tomcat7 통합

Grave: El Servlet.service() for servlet jsp throws a Exception 
java.lang.NoSuchMethodError: javax.persistence.EntityManager.getMetamodel()Ljavax/persistence/metamodel/Metamodel; 
at org.openxava.annotations.parse.AnnotatedClassParser.obtainManagedClassNamesUsingJPA(AnnotatedClassParser.java:2558) 
at org.openxava.annotations.parse.AnnotatedClassParser.getManagedClassNames(AnnotatedClassParser.java:2473) 
at org.openxava.annotations.parse.AnnotatedClassParser.getClassNameFor(AnnotatedClassParser.java:2425) 
at org.openxava.annotations.parse.AnnotatedClassParser.parse(AnnotatedClassParser.java:67) 
at org.openxava.component.ComponentParser.parseAnnotatedClass(ComponentParser.java:47) 
at org.openxava.component.ComponentParser.parse(ComponentParser.java:36) 
at org.openxava.component.MetaComponent.get(MetaComponent.java:58) 
at org.openxava.component.MetaComponent.exists(MetaComponent.java:70) 
at org.openxava.application.meta.MetaApplication.existsModel(MetaApplication.java:151) 
at org.openxava.application.meta.MetaApplication.getMetaModule(MetaApplication.java:140) 
at org.openxava.controller.ModuleManager.getMetaModule(ModuleManager.java:1115) 
at org.openxava.controller.ModuleManager.setupModuleControllers(ModuleManager.java:273) 
at org.openxava.controller.ModuleManager.setModuleName(ModuleManager.java:1088) 
at org.apache.jsp.xava.module_jsp._jspService(module_jsp.java:174) 
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) 
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) 
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412) 
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339) 
at org.openxava.web.servlets.ModuleServlet.doGet(ModuleServlet.java:24) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:744) 

응용 프로그램이 MySQL 데이터베이스와 연결되어 있습니다. 나는 TOMCAT 7에이 같은 어플리케이션을 배포했으나 이번에는 ANT (NO MAVEN)와 WORKS !!로 만들었습니다! 왜 안 했니?! OPENXAVA + MAVEN 통합에 대한 지침은 http://code.google.com/p/openxava-maven/wiki/SampleOXMavenProject입니다.

감사

답변

0
+0

질문은 영어로되어 있습니다. 대답은 스페인어입니다. 이것은 도움이되지 않습니다. –

+0

누군가가 번역을 원한다면 : https://translate.google.com/translate?hl=en&sl=es&tl=en&u=http%3A%2F%2Fsourceforge.net%2Fp%2Fopenxava%2Fdiscussion%2F437013%2Fthread % 2Fc6fa8d07 % 2F –

0

를 사용하여 다음 프로젝트의 POM :

<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/maven-v4_0_0.xsd"> 
     <modelVersion>4.0.0</modelVersion> 
     <groupId>org.openxava</groupId> 
     <artifactId>myschool-appfog</artifactId> 
     <packaging>war</packaging> 
     <version>1.0-SNAPSHOT</version> 
     <name>MySchool OpenXava Sample Project for AppFog</name> 
     <dependencies> 

     <dependency> 
      <groupId>org.openxava</groupId> 
      <artifactId>openxava</artifactId> 
      <version>4.8-SNAPSHOT</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hsqldb</groupId> 
      <artifactId>hsqldb</artifactId> 
      <version>2.2.6</version> 
     </dependency> 

     <!-- ¿Mover a openxava? Pues sí --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>3.6.10.Final</version> 
     </dependency> 

     <!-- ¿Mover a openxava? Pues sí --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
      <version>4.1.0.Final</version> 
     </dependency> 

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

     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-jdk14</artifactId> 
      <version>1.6.1</version> 
     </dependency> 
     </dependencies> 
    </project> 

그리고 mavenized openxava에 대한 다음 치어 :

<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>org.openxava</groupId> 
     <artifactId>openxava</artifactId> 
     <version>4.8-SNAPSHOT</version> 
     <packaging>jar</packaging> 

     <name>OpenXava Framework</name> 

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

     <dependencies> 

     <!-- Persistence --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>3.6.10.Final</version> 
     </dependency> 

     <!-- Validators --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-classic-validator</artifactId> 
      <version>3.1.0.GA</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.validation</groupId> 
      <artifactId>validation-api</artifactId> 
      <version>1.0.0.GA</version> 
     </dependency> 

     <!-- Web --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.4</version> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>2.0</version> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.directwebremoting</groupId> 
      <artifactId>dwr</artifactId> 
      <version>2.0.10</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.0.3</version> 
      <scope>runtime</scope> 
     </dependency> 

     <dependency> 
      <groupId>taglibs</groupId> 
      <artifactId>standard</artifactId> 
      <version>1.0.3</version> 
      <scope>runtime</scope> 
     </dependency> 

     <!-- Portlets --> 
     <dependency> 
      <groupId>portlet-api</groupId> 
      <artifactId>portlet-api</artifactId> 
      <version>1.0</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.liferay.portal</groupId> 
      <artifactId>portal-service</artifactId> 
      <version>5.2.3</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.liferay.portal</groupId> 
      <artifactId>portal-kernel</artifactId> 
      <version>5.2.3</version> 
      <scope>provided</scope> 
     </dependency> 

     <!-- Logging --> 
     <dependency> 
      <groupId>commons-logging</groupId> 
      <artifactId>commons-logging</artifactId> 
      <version>1.1.1</version> 
     </dependency> 

     <!-- IOC --> 
     <dependency> 
      <groupId>javax.inject</groupId> 
      <artifactId>javax.inject</artifactId> 
      <version>1</version> 
     </dependency> 

     <!-- Apache Commons --> 
     <dependency> 
      <groupId>commons-codec</groupId> 
      <artifactId>commons-codec</artifactId> 
      <version>1.4</version> 
     </dependency> 

     <dependency> 
      <groupId>commons-fileupload</groupId> 
      <artifactId>commons-fileupload</artifactId> 
      <version>1.2.2</version> 
     </dependency> 

     <dependency> 
      <groupId>commons-beanutils</groupId> 
      <artifactId>commons-beanutils</artifactId> 
      <version>1.5</version> 
     </dependency> 

     <dependency> 
      <groupId>commons-validator</groupId> 
      <artifactId>commons-validator</artifactId> 
      <version>1.3.1</version> 
     </dependency> 

     <!-- Others --> 
     <dependency> 
      <groupId>net.sourceforge.htmlunit</groupId> 
      <artifactId>htmlunit</artifactId> 
      <version>2.9</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.ejb</groupId> 
      <artifactId>ejb-api</artifactId> 
      <version>3.0</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.mail</groupId> 
      <artifactId>mail</artifactId> 
      <version>1.4.1</version> 
     </dependency> 

     <dependency> 
      <groupId>jasperreports</groupId> 
      <artifactId>jasperreports</artifactId> 
      <version>3.5.3</version> 
     </dependency> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.pdfbox</groupId> 
      <artifactId>pdfbox</artifactId> 
      <version>1.7.1</version> 
     </dependency> 

     </dependencies> 

    </project> 
관련 문제