我必须执行命令:java -jar test.jar page.xml | mysql -u user -p base
在蚂蚁.所以我尝试过这个任务:
<java jar="test.jar" fork="true">
<arg line="page.xml | mysql -u user -p base"/>
</java>
Run Code Online (Sandbox Code Playgroud)
但我的管道异常 - "|" :
java.lang.IllegalArgumentException: Input already set; can't set to |
Run Code Online (Sandbox Code Playgroud)
那么,这就是问题:)
Bri*_*new 59
管道(|)只能在shell脚本中使用.您将它作为参数传递给java进程.
所以你需要执行一个shell脚本.你可以通过执行(说)bash -c并将上面的内容作为shell语句传递来实现这一点(尽管内联 - 你可以编写一个单独的脚本文件,但这里似乎有点开销)
<exec executable="bash">
<arg value="-c"/>
<arg line="java -jar test.jar page.xml | mysql -u user -p base"/>
</exec>
Run Code Online (Sandbox Code Playgroud)
小智 9
我不知道这是否曾经解决,但我遇到了类似的问题,我使用以下方法解决了这个问题:
<exec executable="bash">
<arg value="-c"/>
<arg line='"java -jar test.jar page.xml | mysql -u user -p base"'/>
</exec>
Run Code Online (Sandbox Code Playgroud)
只是想我会分享.
| 归档时间: |
|
| 查看次数: |
16807 次 |
| 最近记录: |