IAm*_*aja 5 java ant jvm-arguments
我试图从Ant构建文件运行JBoss TattleTale.通常我会从命令行运行它,如下所示:
java -Xmx512m -jar /home/myuser/jars/tattletale.jar /home/myuser/projects/lib /home/myuser/tmp/tt
Run Code Online (Sandbox Code Playgroud)
/home/myuser/projects/src我所有JAR 所在的源目录在哪里,以及/home/myuser/tmp/tt我放置所有TattleTale报告的输出目录在哪里.
在Ant构建文件中,我使用以下内容:
<echo message="Running tattle-tale..."/>
<java fork="true" failonerror="true" jar="/home/myuser/jars/tattletale.jar">
<arg value="Xmx512m"/>
<arg value="/home/myuser/projects/lib"/>
<arg value="/home/myuser/tmp/tt"/>
</java>
Run Code Online (Sandbox Code Playgroud)
当我从命令行运行此目标时:
run-tattletale:
[echo] Running tattle-tale...
BUILD SUCCESSFUL
Total time: 3 seconds
Run Code Online (Sandbox Code Playgroud)
当我去的时候,/home/myuser/tmp/tt我没有看到任何输出,但Ant输出显示SUCCESS没有错误或警告.我<arg>看起来是否正确,如果没有,我应该如何改变它们?如果它们看起来正确,我可以做些什么来调试?提前致谢!
两件事情:
在运行Ant时尝试使用debug选项,并将输出保存到日志文件中.然后查看日志文件.它将向您展示它是如何执行Java命令的.这将帮助您确定Ant <java>与您直接从命令行运行Java的方式不同.它会让你能够调整你的<java>任务.
当参数用于java命令本身时,您使用<jvmarg>而不是<arg>:
一个例子:
<echo message="Running tattle-tale..."/>
<java fork="true"
failonerror="true"
jar="/home/myuser/jars/tattletale.jar">
<jvmarg value="-Xmx512m"/> <!-- Note the dash! -->
<arg value="/home/myuser/projects/lib"/>
<arg value="/home/myuser/tmp/tt"/>
</java>
Run Code Online (Sandbox Code Playgroud)
尝试一下,ant -d | tee ant.out如果您使用的是Unix/Linux,请运行.在Windows上,您必须执行以下操作ant -d > ant.out.txt以保存输出ant.out.txt,但在ant运行时不会显示输出.
第一个 args 是 JVM 参数而不是程序参数,因此<arg>语法错误。对于这种情况,使用maxmemory任务参数会更容易java。
因此,删除第一个<arg>并放入块maxmemory=512m中<java>。
| 归档时间: |
|
| 查看次数: |
4394 次 |
| 最近记录: |