如何通过Maven编译JSP,但没有失败的错误?

时间:2017-10-19 14:57:22

标签: maven jsp tomcat8

我刚刚开始研究一个包含许多JSP的大型项目,其中很多是很久以前创建的,其中一些是生成的。我想使用org.eclipse.jetty中的jetty-jspc-maven-plugin来编译我们的JSP,以便在Tomcat 8.5中使用。不幸的是,有些JSP没有干净地编译,当出现编译问题时,maven构建失败并停止。

JspcMojo课完成大部分工作。它有一个嵌入式类JspcMojo.JettyJspC,它扩展org.apache.jasper.JspC并具有failOnError属性。 JettyJspC的文档说," JettyJspC为标准JspC类添加一些额外的setter,以帮助配置它在maven中运行。"所以,似乎我应该能够将failOnError属性设置为false并完成。我已经尝试了以下所有方法,没有成功。如何将failOnError属性从maven传递给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>

BTW,compiling JSPs using ant已有相当详细的记录。我想用maven做相同的事情。

1 个答案:

答案 0 :(得分: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>