2016-09-16 21 views
0

私はhttps://www.eclipse.org/jetty/documentation/current/jetty-jspc-maven-plugin.htmlとしてJetty Jspc Maven Plugin 9.3.11を使用しています。コンパイルされたJSPは起因Jetty Jspc Maven Plugin for Tomcat 7の使い方

にjava.lang.ClassNotFoundExceptionに実行に失敗: org.apache.jasper.runtime.JspSourceImports

JspSourceImports Tomcat上のTomcat 8で導入され、したがって使用できないインタフェースであります7. Jetty Jspc Maven Pluginでは、コンパイルするTomcat/JSPのバージョンを設定することはできません。

私はプラグインの特定のバージョンが暗黙的に提供されると想定します。ですから、問題はTomcat 7用のJetty Jspc Maven Pluginの使い方ですか?

+0

メーリングリストへのクロスリンクmsg:http://dev.eclipse.org/mhonarc/lists/jetty-users/msg07303.html –

答えて

0

ソリューションは、上記の私のコメントで予想どおりになるようだ:

<plugin> 
    <!-- https://www.eclipse.org/jetty/documentation/9.3.x/jetty-jspc-maven-plugin.html --> 
    <groupId>org.eclipse.jetty</groupId> 
    <artifactId>jetty-jspc-maven-plugin</artifactId> 
    <version>${jetty-jspc-plugin.version}</version> 
    <dependencies> 
    <dependency> 
     <groupId>org.apache.tomcat</groupId> 
     <artifactId>tomcat-jasper</artifactId> 
     <version>${tomcat.version}</version> 
    </dependency> 
    </dependencies> 
    <executions> 
    <execution> 
     <id>jspc</id> 
     <goals> 
     <goal>jspc</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 

${tomcat.version}は7.xの枝からいくつかのバージョンです。ランタイムバージョンと正確に一致させる必要はなく、APIとの互換性が必要です。

1

古いJSPサポートが必要な場合は、古いJetty 8 jspcプラグインを使用できますか?

注:桟橋8は今EOL(生命の終わり)であり、それは(完全に廃止予定と突堤9にはApacheジャスパー8.5.4に置き換えられている)

Glassfishのジャスパー2.2.2 JSPエンジンを使用

だから、桟橋8のために、あなたは、なります:

  • JSP 2.2
  • JSTL 1.2

参照:org.mortbay.jetty:jetty-jspc-maven-plugin:8.1.16.v20140903

+0

'jspc'プラグインパラメータを使用してTomcat 7の' JspC.class'(つまり、Tomcat 7の 'jasper.jar'から)?プラグインに外部から提供された 'JspC.class'を優先するように指示する方法が必要です。私はtomcat-jasperに依存関係を追加します:7.0.70をプラグインに追加します。 –

関連する問題