2017-03-18 21 views
0

Eclipseを使用してmavenプロジェクトビルドで 'tomcat:run'コマンドを使用してプロジェクトを実行しようとしています。ここで私はいくつかの問題が発生しています:mavenプロジェクトにTomcatエラーが埋め込まれています

これが私のpom.xmlプラグインのコードです:

<plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>tomcat-maven-plugin</artifactId> 
      <version>1.1</version> 
      <configuration> 
       <source>${java.version}</source> 
       <target>${java.version}</target> 
       <port>9999</port> 
        <path>/webapp</path> 
        <warFile>${project.basedir}/target/${project.build.finalName}.war</warFile> 

      </configuration> 
     </plugin> 

ここで完全なエラースタックトレースは、どのように私はこの問題を解決することができ

java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and the class loader (instance of org/codehaus/plexus/classworlds/realm/ClassRealm) for the method's defining class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature 
at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22) 
at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52) 
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159) 
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329) 
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) 
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) 
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) 
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
at java.lang.Thread.run(Thread.java:745) 

のですか?

任意の提案は

を理解されるであろうあなたが@Ashwinが言ったように、サーブレットの依存関係を含める必要があなたに

+0

あなたは、このようなJSP-api.jarを、EL-api.jarを、サーブレット-api.jarを、などなど、あなたのプロジェクトライブラリに追加するための2つのオプションがあります。 はあなたのJavaのビルド・パス内の外部のjarファイルとしてこれらのライブラリを追加します。 を提供 javax.servlet.jsp JSP-API 2.1 : は、例えば、それらの各々のために設けられたスコープを設定、Mavenの依存関係として追加します –

答えて

0

に感謝します。このような

は:

<dependencies> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>3.0.1</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency> 
</dependencies> 

私はこのblog postからconfigのこの例を取りました。サーブレットのapiとjstlのバージョンは、tomcatのバージョンによって異なる場合があります。

関連する問題