2017-10-19 74 views
0

我刚刚开始研究一个拥有许多JSP的大型项目,其中许多是很久以前创建的,其中一些已生成。我想使用org.eclipse.jetty中的jetty-jspc-maven-plugin编译我们的JSP以用于Tomcat 8.5。不幸的是,一些JSP不能干净地编译,当出现编译问题时,Maven构建失败并停止。如何通过Maven编译JSP,但不会失败?

JspcMojo课程的大部分工作。它有一个嵌入类,JspcMojo.JettyJspC,它扩展了org.apache.jasper.JspC并具有failOnError属性。 JettyJspC的文档说:“JettyJspC为标准JspC类添加一些额外的setter以帮助将其配置为在maven中运行。”所以,似乎我应该能够将failOnError属性设置为false并完成。我尝试了以下所有内容,但都没有成功。我如何将maven的failOnError属性传递给JSP编译器?

<jspc.failOnError>false</jspc.failOnError> 
<org.apache.jasper.compiler.failOnError>false</org.apache.jasper.compiler.failOnError> 
<org.apache.jasper.JspC.failOnError>false</org.apache.jasper.JspC.failOnError> 
<maven.compiler.failOnError>false</maven.compiler.failOnError> 
<JettyJspC.failOnError>false</JettyJspC.failOnError> 
<JspcMojo.JettyJspC.failOnError>false</JspcMojo.JettyJspC.failOnError> 
<org.eclipse.jetty.jspc.plugin.JspcMojo.JettyJspC.failOnError>false</org.eclipse.jetty.jspc.plugin.JspcMojo.JettyJspC.failOnError> 

顺便说一句,compiling JSPs using ant是相当有据可查的。我想用maven来做同样的事情。

回答

0

根据configuration部分,您可以使用jspc元素的子元素,像这样:

<plugin> 
    <groupId>org.eclipse.jetty</groupId> 
    <artifactId>jetty-jspc-maven-plugin</artifactId> 
    <version>9.4.7.v20170914</version> 
    <executions> 
     <execution> 
      <id>jspc</id> 
      <goals> 
       <goal>jspc</goal> 
      </goals> 
      <configuration> 
       <webAppSourceDirectory>${basedir}/target/overlaidjsps</webAppSourceDirectory> 
       <webXml>${basedir}/src/main/webapp/WEB-INF/web.xml</webXml> 
       <webXmlFragment>${basedir}/target/webfrag.xml</webXmlFragment> 
       <!-- The comma separated list of patterns for file extensions to be processed. --> 
       <includes>**/*.jsp</includes> 
       <jspc><failOnError>false</failOnError></jspc> 
      </configuration> 
     </execution> 
    </executions> 
</plugin>