ant java执行在完成后挂起
在Liferay ext build-parent.xml中,有一个执行java的目标构建webxml。不幸的是,由于某些原因,这个目标没有完成 我调试了代码,主方法完成。但仍然是在java未执行之后直接执行回显。它只是挂在最后 当我按住Ctrl+c键时,它就会打印出来ant java执行在完成后挂起,java,ant,liferay,Java,Ant,Liferay,在Liferay ext build-parent.xml中,有一个执行java的目标构建webxml。不幸的是,由于某些原因,这个目标没有完成 我调试了代码,主方法完成。但仍然是在java未执行之后直接执行回显。它只是挂在最后 当我按住Ctrl+c键时,它就会打印出来 [java] Java Result: 1 [echo] web.xml files merged 如果我添加spawn=“true”,那么它将完成,但我不希望这样。 你知道这是什么原因吗?我怎样才能完成 Apache A
[java] Java Result: 1
[echo] web.xml files merged
如果我添加spawn=“true”,那么它将完成,但我不希望这样。
你知道这是什么原因吗?我怎样才能完成
Apache Ant 1.8.1版和JVM build 1.5.0_17-b04
目标如下:
<target name="build-webxml">
<java
classname="com.liferay.portal.tools.WebXMLBuilder"
classpathref="project.classpath"
fork="true"
newenvironment="true" spawn="false" resultproperty="web.xml.build.success"
>
<jvmarg value="-Dexternal-properties=com/liferay/portal/tools/dependencies/portal-tools.properties" />
<!-- -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n -->
<arg value="tmp/WEB-INF/web.xml.original" />
<arg value="docroot/WEB-INF/web.xml" />
<arg value="tmp/WEB-INF/web.xml" />
</java>
<echo message="web.xml files merged"/>
</target>
我仍然没有解决方案表明java类com.liferay.portal.tools.WebXMLBuilder是多线程的,其中一个线程仍在后台运行
spawn=“true”之所以有效,是因为ANT jvm不会等待子进程完成。类似地,CTRL-C也可以工作,因为您正在发送终止进程的信号。表明java类com.liferay.portal.tools.WebXMLBuilder是多线程的,其中一个线程仍在后台运行
spawn=“true”之所以有效,是因为ANT jvm不会等待子进程完成。类似地,CTRL-C也可以工作,因为您正在发送终止进程的信号。当Apache Ant通过使用、或任务等方式派生一个新进程时,它还将启动一个从标准输入读取的新线程,并将读取的所有内容发送到该进程
请参考当Apache Ant通过使用、或任务等方式派生一个新进程时,它还将启动一个新线程,从标准输入读取并将读取的所有内容发送到该进程
请参考它不是多线程的。您可以在这里看到源代码:它读取和写入磁盘上的一些文件。这可能是个问题吗?可能是。我试图追溯代码,但看不到您正在使用的FileUtil类的实现。看到了吗?在没有ANT的情况下独立运行代码时,您能重现这个问题吗?它不是多线程的。您可以在这里看到源代码:它读取和写入磁盘上的一些文件。这可能是个问题吗?可能是。我试图追溯代码,但看不到您正在使用的FileUtil类的实现。看到没有ANT单独运行代码时,你能重现这个问题吗?我面临着同样的问题。你是如何解决这个问题的?我也面临同样的问题。你是如何解决这个问题的?