编译所有 JSP,不要在出现错误时停止



我有兴趣在Tomcat 7中预编译我所有的JSP以进行调试,并获取所有JSP编译错误的日志。我在网上搜索了所有内容,但没有找到任何方法。

没有人对如何使用开箱即用的开源工具做到这一点有建议?

我能够使用 ANT 构建方法完成此任务,该方法在 Dev Shed 上记录并在 Stack Overflow 上引用。

要使它工作,需要将 failonerror="false" 添加到 javac 任务中,如下所示:

<!-- start snip from build.xml from DevShed -->
<target name="generate-jsp-java-src"> 
    <mkdir dir="${webapp.dir}/WEB-INF/jspc-src/${jspc.dir.prefix}"/>
    <taskdef classname="org.apache.jasper.JspC" name="jasper2">
        <classpath>
            <path refid="jspc.classpath"/>
        </classpath>
    </taskdef>
    <touch file="${webapp.dir}/WEB-INF/jspc-web.xml"/>
    <jasper2 uriroot="${webapp.dir}"
        package="${jspc.pkg.prefix}" 
        webXmlFragment="${webapp.dir}/WEB-INF/jspc-web.xml" 
        outputDir="${webapp.dir}/WEB-INF/jspc-src/${jspc.dir.prefix}"
        verbose="0"
        failonerror="false"
        listerrors="true"/>
</target> 
<!-- end snip from build.xml from DevShed -->

我还发现设置 verbose="0" 和 listerrors="true" 在仅显示编译/构建错误和减少不必要的日志记录方面做得更好。

我从这个练习中学到的另一个方便的注意事项是,ANT 将自动尝试根据任务中的 javac 属性反映 setter 方法。 如果 Ant 找到匹配的签名,它将执行此 setter 方法。例如,failonerror 将反映到 ANT 的 setFailOnError(boolean)。因此,如果你想看看还有哪些参数可用,你可以简单地打开 JspC.java看看哪些公共资源库可用,并通过删除"get"并放入小写(为了一致性)来尝试它们。

我怀疑这个 ANT setter 反射在其他基于 Java 的任务中是一致的。

相关内容

  • 没有找到相关文章

最新更新