我的Ant构建包括一个运行一些测试的junit任务.为了使测试起作用,user.dir
必须更改指定当前工作目录()的属性的值,但我不确定如何实现此目的.
有问题的任务目前看起来像这样:
请注意,我尝试使用"dir"属性和"jvmarg"任务将工作目录更改为C:/ workspace/obp-web.但是当我运行Ant并打开详细输出时,我看到以下输出,表明工作目录未正确设置:
如果在同一个VM中运行,则会忽略[junit] dir属性
[junit]使用系统属性 {java.runtime.name = Java(TM)SE运行时环境,sun.boot.library.path = c:\ jdk6\jre\bin,java.vm.version = 10.0-b23,ant. lib rary.dir = C:\ java\apache-ant-1.7.0\lib,java.vm.vendor = Sun Microsystems Inc.,java.vendor.url = http://java.sun.com/,path. separator =;,java.vm.name = Java HotSpot(TM)客户端VM,file.encoding.pkg = sun.io,user.country = CA,sun.java.launcher = SUN_STANDARD,sun.os.patch.level = Service Pack 1,java.vm.specification.name = Java虚拟机规范, user.dir = c:\ workspace\obp-ear,java.runtime.version = 1.6.0_07-b06,java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment,java.endorse d.dirs = c:\ jdk6\jre\lib\endorsed,os.arch = x86,java .io.tmpdir = C:\ Users\donal\AppData\Local\Temp \,line.separator =
Jeffrey Fred.. 14
使用属性"dir"(还必须分叉vm):
http://ant.apache.org/manual/Tasks/junit.html
使用属性"dir"(还必须分叉vm):
http://ant.apache.org/manual/Tasks/junit.html
尝试使用jvmarg:
...
请注意,对于junit标记和batchtest标记,fork 必须为true,因为batchtest标记会覆盖junit中的值.Jvmargs仅在junit分叉新JVM时才有效.