2016-09-16 49 views
0

我使用Jetty Jspc Maven插件9.3.11根據https://www.eclipse.org/jetty/documentation/current/jetty-jspc-maven-plugin.html。所述編譯的JSP無法運行由於如何使用Jetty Jspc Maven插件的Tomcat 7

拋出java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspSourceImports

JspSourceImports是Tomcat上不可用的Tomcat 8並因此引入了一個接口7. Jetty Jspc Maven插件不允許我配置要編譯的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(壽命結束)現在,它使用的Glassfish的碧玉2.2.2 JSP引擎(其已經完全棄用,在碼頭9與Apache碧玉8.5.4代替)

因此對於碼頭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。 –

相關問題