是否有更改目录的JVM命令行选项?

时间:2011-10-20 15:59:45

标签: java android jvm robolectric infinitest

简而言之,我想知道,是否有一个JVM命令行选项来更改起始工作目录?如果它很重要,我正在运行jdk1.6.0_24。

背景

我正在使用一个名为Robolectric for Eclipse的工具来测试主机PC上的Android应用程序而不进行仿真。 Robolectric需要创建一个测试项目,但测试本身要从测试中的Android项目运行。这可以通过Eclipse完成,在以下设置中将运行配置设置为测试项目:“在所选项目,包或源文件夹中运行所有测试。”

如果可能,我想从JVM命令行选项中执行此操作,因为我使用的另一个工具Infinitestdoesn't allow指定测试的工作目录。但是,它允许您指定JVM命令行选项。

解决方法:

在找到更好的解决方法之前,一个成功的方法就是从Android项目中复制AndroidManifest.xml和res文件夹。

3 个答案:

答案 0 :(得分:7)

在Java SE中,“当前目录”被放入系统属性user.dir

使用-D选项手动覆盖此值可能有效:

java -Duser.dir=/some/directory ....

但我不知道这是否也适用于Android中使用的JVM

答案 1 :(得分:1)

“当前工作目录”是一个操作系统概念,而不是JVM,因此您需要在该级别找到解决方案,例如编写批处理或shell脚本。

答案 2 :(得分:0)

我会考虑在Maven构建中运行robolectric测试。这样可以更轻松地运行测试。在Eclipse中也是如此。并且Maven也可能有无限的支持。