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

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -