ojspc总是在出错时返回0

时间:2010-04-08 17:17:10

标签: oracle ant build jar

在我的Ant build.xml文件中,我正在尝试使用ojspc编译JSP。正在编译文件,但是,当JSP编译有错误时,构建过程仍在运行完成。

这是我的build.xml的一部分:

<java fork="true" jar="${env.ORACLE_HOME}\j2ee\home\ojspc.jar" resultproperty="result">
  <jvmarg value="-Djava.compiler=NONE"/>
  <arg value="-extend"/>
  <arg value="com.orionserver.http.OrionHttpJspPage"/>
  <arg value="-batchMask"/>
  <arg value="*.jsp"/>
  <arg value="${target-directory}/build/target/ear/${module-dir-name}-jsp.war"/>
</java>
<echo level="info">Result Property: ${result}</echo>

我已尝试设置属性failonerror="true",但这不会改变任何内容。

我收到以下输出:

 [java] Detected archive, now processing contents of ../build/target/ear/web-module-jsp.war...
 [java] Setting up temp area...
 [java] Expanding archive in temp area...
 [java] C:\DOCUME~1\MMCCOR~1\LOCALS~1\Temp\tmp12940\_web_2d_inf\_jsp\_password.java:60: cannot resolve symbol
 [java] symbol  : variable reqvst 
 [java] location: class _web_2d_inf._jsp._password
 [java]       out.print(reqvst.getAttribute("test"));
 [java]                 ^
 [java] 1 error
 [java] Creating D:\eclipse-workspace\jdw\build\..\build\target\ear\web-module-jsp.war ...
 [java] Removing temp area...
 [echo] Result Property: 0

...(more commands)
BUILD SUCCESSFUL

在password.jsp文件中,我故意引入了一个错误来测试。

如何让错误导致构建失败?

Ant Java page,我感到困惑:

  

默认情况下,返回代码为   被忽略了。或者,您可以设置   resultproperty为a的名称   财产并将其分配给   结果代码(禁止不变性)   课程)。当你设置   failonerror =“true”,唯一可行的   resultproperty的值为0.任何   非零响应被视为一个   错误并且意味着构建退出。

1 个答案:

答案 0 :(得分:0)

如果你正在使用Ant的OC4J实现,你可以使用oracle:compileJsp Ant任务,我相信它可以按照你想要的方式工作。

执行此操作的详细信息如下: http://download-west.oracle.com/docs/cd/B32110_01/web.1013/b28961/ojspc.htm#sthref219