Ant java任务输出被截断(Windows fork=true)
我有一个Ant构建文件,用于构建和执行Java程序。执行时使用Ant java任务输出被截断(Windows fork=true),java,ant,Java,Ant,我有一个Ant构建文件,用于构建和执行Java程序。执行时使用fork=true,但是这会导致程序的控制台输出被随机截断。我尝试在末尾添加一个额外的System.out.flush(),但它仍然被截断 我想要fork=true,因为当程序使用System.exit(1)报告错误时,它会更容易 我正在Windows上运行,如果这很重要的话。ant中java任务的fork=true选项是否应该在Windows上工作?如果要查看所有输出,是否需要登录到文件?我能告诉Ant等待分叉过程完成的时间更长吗
fork=true
,但是这会导致程序的控制台输出被随机截断。我尝试在末尾添加一个额外的System.out.flush()
,但它仍然被截断
我想要fork=true
,因为当程序使用System.exit(1)
报告错误时,它会更容易
我正在Windows上运行,如果这很重要的话。ant中java任务的fork=true
选项是否应该在Windows上工作?如果要查看所有输出,是否需要登录到文件?我能告诉Ant等待分叉过程完成的时间更长吗
更新:
如果我不使用fork=true
并且我使用System.exit(1)
,那么我会在ant中得到如下异常:
[java] Unexpected internal compiler error: org.apache.tools.ant.ExitException: Permission ("java.lang.RuntimePermis
sion" "exitVM") was not granted.
[java] org.apache.tools.ant.ExitException: Permission ("java.lang.RuntimePermission" "exitVM") was not granted.
[java] at org.apache.tools.ant.types.Permissions$MySM.checkExit(Permissions.java:194)
[java] at java.lang.Runtime.exit(Runtime.java:107)
[java] at java.lang.System.exit(System.java:971)
...
您是否设置了spawn=true?那么,您是否试图让ant启动另一个程序,然后退出?或者您正在尝试运行另一个程序,捕获结果并根据结果评估/失败/成功以导致ant构建失败?如果您希望在java程序以非零值退出时退出构建,您应该提到failonerror=“true”我没有执行
spawn=true
,是吗?我正在尝试为编译器类构建一个项目,如果出现错误,程序将返回1(因此我使用System.exit(1)
)。该输出不用于进一步的Ant任务。@svasa-Hmm可能failonerror实际工作,即使这是我正在执行的最后一个任务。这是否会导致Ant等待分叉进程完成?