我有一個現有的jar文件,我運行。它是Selenium RC服務器。我希望能夠更改JVM httpProxy.host/port/etc系統值。一方面,我可以修改源代碼並添加此功能。需要一些時間。是否有另一種可能的方式來做到這一點?就像我有自己的JAR(它可以設置這些JVM屬性)在同一個JVM實例內調用selenium-rc(這樣就可以修改它的JVM變量的值)?Java:通過運行時修改系統屬性
3
A
回答
5
您可以定義在命令行上的系統性能,採用
-DpropertyName=propertyValue
所以,你可以寫
java -jar selenium-rc.jar -Dhttp.proxyHost=YourProxyHost -Dhttp.proxyPort=YourProxyPort
見Java - the java application launcher,
編輯:
你可以寫一個包裝器是一個應用程序啓動器。在類中使用反射來模擬調用main
方法很容易。然後您可以在啓動最終應用程序之前通過System.setProperty
設置系統屬性。例如,
public class AppWrapper
{
/* args[0] - class to launch */
public static void main(String[] args) throws Exception
{ // error checking omitted for brevity
Class app = Class.forName(args[0]);
Method main = app.getDeclaredMethod("main", new Class[] { (new String[1]).getClass()});
String[] appArgs = new String[args.length-1];
System.arraycopy(args, 1, appArgs, 0, appArgs.length);
System.setProperty("http.proxyHost", "someHost");
main.invoke(null, appArgs);
}
}
2
使用System.setProperty()方法。
相關問題
- 1. 的Java:修改系統屬性的Java應用程序
- 2. 在運行時修改innerhtml屬性
- 3. 缺少Java系統屬性運行時,火花流Mesos集羣
- 4. 修改註釋在運行時的屬性值在Java
- 5. Java的構造和運行時修改對象屬性
- 6. 在Java中修改系統時間
- 7. 是否可以在運行時修改屬性的屬性?
- 8. java中的系統屬性
- 9. 修改屬性的值通過方法
- 10. 通過Javascript修改onClick屬性
- 11. 更改user.home系統屬性
- 12. 通過/ proc修改系統調用行爲?
- 13. codeigniter屬性/過濾系統
- 14. 如何即時修改Java屬性?
- 15. 通過ProcessLauncher更改系統時鐘uwp
- 16. 通過系統屬性爲HttpClient設置套接字超時
- 17. 通過僅傳遞屬性來修改JS對象的屬性?
- 18. 如何在運行時彈簧組系統屬性3 MVC
- 19. 通過jacob java-com橋改變系統時間
- 20. 如何通過CSS隱藏列時修改colspan屬性?
- 21. 如何防止更改Java系統屬性(在Java EE中)?
- 22. 如何在運行時修改xml中的顏色屬性?
- 23. 通過修訂獲取修改的屬性
- 24. 當通過模擬器運行時訪問android系統文件
- 25. 通過VBA(訪問/ Excel)中獲取系統運行時間
- 26. 修改屬性
- 27. java.ext.dirs Java中的系統屬性
- 28. 在Java中使用系統屬性
- 29. Java如何確定'file.encoding'系統屬性?
- 30. Java系統屬性和環境變量
我知道,但我想在運行時執行此操作...而不是在啓動期間執行此操作。謝謝,雖然..... – Zombies 2010-07-18 23:52:44
好吧,這個問題不太清楚你想要達到什麼。 downvote似乎苛刻。 – mdma 2010-07-18 23:57:15
我把那個倒票倒過來:) – Zombies 2010-07-19 01:27:19