Gibt es eine JVM-Befehlszeile-option Verzeichnis ändern?
Kurz gesagt, ich möchte wissen, ist es eine JVM-Befehlszeile-option zu ändern, die Start-Arbeitsverzeichnis? Falls es wichtig ist, ich bin mit jdk1.6.0_24.
Hintergrund:
Ich bin mit einem tool namens Robolectric für Eclipse zum testen von Android-Anwendungen auf dem host-PC, ohne emulation. Robolectric erfordert ein test-Projekt erstellt werden, aber die tests selbst zu führen aus dem Android-Projekt unter test. Dies wird erreicht, indem von Eclipse, die Einstellung der run configuration für das Projekt unter test in der Einstellung: "Run all tests in the selected project, package-oder Quell-Ordner".
Ich möchte dies tun aus der JVM-Optionen für die Befehlszeile, wenn möglich, weil ein weiteres tool, das ich benutze, Infinitest, nicht erlaubt Sie geben Sie das Arbeitsverzeichnis des tests. Es tut, jedoch, können Sie angeben, JVM-Befehlszeile-Optionen.
Problemumgehung:
Bis ich eine bessere Lösung, eine erfolgreiche kluge wurde zu kopieren AndroidManifest.xml und res-Ordner aus dem Android-Projekt.
InformationsquelleAutor Jeff Axelrod | 2011-10-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
"Current working directory" OS ist ein Konzept, nicht eine JVM, so dass Sie brauchen, um eine Lösung zu finden, die auf dieser Ebene, wie z.B. das schreiben einer batch-oder shell-Skript.
Ja, ich sah. Was ich damit sagen will ist, dass man es nicht mit einer JVM-args.
Infinitest nicht erlauben, Sie zu nennen, ein shell-Skript, nur zum ändern der flags.
InformationsquelleAutor Ryan Stewart
In Java SE, das "aktuelle Verzeichnis" ist in der system-Eigenschaft
user.dir
.Manuell überschreiben Sie diesen Wert mit a-D-option funktionieren könnte:
Aber ich weiß nicht, ob dies auch für die JVM verwendet in Android
Ich bin mit diesem Ansatz auf einer regelmäßigen basis, und es funktioniert ganz gut.
Ändern Sie diese variable nicht zu empfehlen und unzuverlässig ist pro diese Antwort. Es hat bei mir nicht funktioniert.
InformationsquelleAutor a_horse_with_no_name
Ich würde in Ausführung des robolectric tests in einen Maven-build. Das macht es viel einfacher, um die tests auszuführen. Innerhalb von Eclipse als gut. Und es gibt wohl infinitest Unterstützung für Maven als gut.
Sie wissen, dass es eine sbt-android-plugin Recht..
Ja, das ist, wie ich die bauen.
InformationsquelleAutor Manfred Moser