Maven, tomcat7, Simple Web App. java.lang.LinkageError: loader constraint violation -
i'm following directions book "introducing maven, apress", create simple web app: helloworld!! in jsp . maven , tomcat7 , using following artifact: (by way i'm using win7)
mvn archetype:generate -darchetypeartifactid=maven-archetype-webapp the structure created follow:
gswm-web |_pom.xml |_src |_main |_resources |_webapp |_web-inf | |_web.xml |_index.jsp and pom.xml looks below, tomcat plug-in added:
<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>com.apress.gswmbook</groupid> <artifactid>gswm-web</artifactid> <packaging>war</packaging> <version>1.0-snapshot</version> <name>gswm-web maven webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalname>gswm-web</finalname> <plugins> <plugin> <groupid>org.apache.tomcat.maven</groupid> <artifactid>tomcat7-maven-plugin</artifactid> <version>2.2</version> </plugin> </plugins> </build> </project> then run command line in root of project following command:
mvn tomcat7:run and i'm getting following information:
[info] scanning projects... [info] [info] -------------------------------------------------------------------- ---- [info] building gswm-web maven webapp 1.0-snapshot [info] --------------------------------------------------------------------- --- [info] [info] >>> tomcat7-maven-plugin:2.2:run (default-cli) @ gswm-web >>> downloading: http://repo.maven.apache.org/maven2/javax/servlet/jsp/jsp- api/2.1/jsp-api-2.1.pom downloaded: http://repo.maven.apache.org/maven2/javax/servlet/jsp/jsp- api/2.1/jsp-api-2.1.pom downloading: http://repo.maven.apache.org/maven2/javax/servlet/jsp/jsp- api/2.1/jsp-api-2.1.jar downloaded: http://repo.maven.apache.org/maven2/javax/servlet/jsp/jsp- api/2.1/jsp-api-2.1.jar [info] [info] --- maven-resources-plugin:2.5:resources (default-resources) @ gswm- web --- [debug] execute contextualize [warning] using platform encoding (cp1252 actually) copy filtered resources, i.e. build platform dependent! [info] skip non existing resourcedirectory c:\mauriciofiles\maven\gswm-book-master\gswm-book- master\chapter6\final\gswm-web\src\main\resources [info] [info] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ gswm-web --- [info] no sources compile [info] [info] <<< tomcat7-maven-plugin:2.2:run (default-cli) @ gswm-web <<< [info] [info] --- tomcat7-maven-plugin:2.2:run (default-cli) @ gswm-web --- [info] running war on http://localhost:8080/gswm-web [info] creating tomcat server configuration @ c:\mauriciofiles\maven\gswm-book-master\gswm-book- master\chapter6\final\gswm-web\target\tomcat [info] create webapp contextpath: /gswm-web jun 03, 2015 1:50:08 pm org.apache.coyote.abstractprotocol init info: initializing protocolhandler ["http-bio-8080"] jun 03, 2015 1:50:08 pm org.apache.catalina.core.standardservice startinternal info: starting service tomcat jun 03, 2015 1:50:08 pm org.apache.catalina.core.standardengine startinternal info: starting servlet engine: apache tomcat/7.0.47 jun 03, 2015 1:50:12 pm org.apache.coyote.abstractprotocol start info: starting protocolhandler ["http-bio-8080"] but when try display project in browser @ port 8080 i'm getting below message:
jun 03, 2015 1:50:34 pm org.apache.catalina.core.standardwrappervalve invoke severe: servlet.service() servlet [jsp] in context path [/gswm-web] threw exception [java.lang.linkageerror: loader constraint violation: loader (instance of org/apache/jasper/servlet/jasperloader) initiated loading different type name "javax/servlet/http/httpservletrequest"] root cause java.lang.linkageerror: loader constraint violation: loader (instance of org/apache/jasper/servlet/jasperloader) initiated loading different type name "javax/servlet/http/httpservletrequest" @ java.lang.class.getdeclaredmethods0(native method) @ java.lang.class.privategetdeclaredmethods(class.java:2688) @ java.lang.class.getdeclaredmethods(class.java:1962) @ org.apache.catalina.util.introspection.getdeclaredmethods (introspection.java:127) @ org.apache.catalina.core.defaultinstancemanager.populateannotationscache (defaultinstancemanager.java:342) @ org.apache.catalina.core.defaultinstancemanager.newinstance (defaultinstancemanager.java:161) @ org.apache.catalina.core.defaultinstancemanager.newinstance (defaultinstancemanager.java:149) @ org.apache.jasper.servlet.jspservletwrapper.getservlet (jspservletwrapper.java:172) @ org.apache.jasper.servlet.jspservletwrapper.service (jspservletwrapper.java:369) @ org.apache.jasper.servlet.jspservlet.servicejspfile (jspservlet.java:390) @ org.apache.jasper.servlet.jspservlet.service (jspservlet.java:334) @ javax.servlet.http.httpservlet.service (httpservlet.java:728) @ org.apache.catalina.core.applicationfilterchain.internaldofilter (applicationfilterchain.java:305) @ org.apache.catalina.core.applicationfilterchain.dofilter (applicationfilterchain.java:210) @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:51) @ org.apache.catalina.core.applicationfilterchain.internaldofilter (applicationfilterchain.java:243) @ org.apache.catalina.core.applicationfilterchain.dofilter (applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke (standardwrappervalve.java:222) @ org.apache.catalina.core.standardcontextvalve.invoke (standardcontextvalve.java:123) @ org.apache.catalina.authenticator.authenticatorbase.invoke (authenticatorbase.java:502) @ org.apache.catalina.core.standardhostvalve.invoke (standardhostvalve.java:171) @ org.apache.catalina.valves.errorreportvalve.invoke (errorreportvalve.java:100) @ org.apache.catalina.valves.accesslogvalve.invoke (accesslogvalve.java:953) @ org.apache.catalina.core.standardenginevalve.invoke (standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service (coyoteadapter.java:408) @ org.apache.coyote.http11.abstracthttp11processor.process (abstracthttp11processor.java:1041) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process (abstractprotocol.java:603) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run (jioendpoint.java:310) @ java.util.concurrent.threadpoolexecutor.runworker (threadpoolexecutor.java:1142) @ java.util.concurrent.threadpoolexecutor$worker.run (threadpoolexecutor.java:617) @ java.lang.thread.run(thread.java:745) among other things have tried, doing research have added following lines pom, without success:
<dependency> <groupid>javax.servlet.jsp</groupid> <artifactid>jsp-api</artifactid> <version>2.1</version> <scope>provided</scope> </dependency> does know how fixed?. thank alot
do same javax.servlet-api artifact:
<dependency> <groupid>javax.servlet</groupid> <artifactid>javax.servlet-api</artifactid> <version>xxxx</version><!-- whatever version using --> <scope>provided</scope> </dependency> actually offending class, httpservletrequest in artifact.
Comments
Post a Comment