有没有一种方法来重建在Java程序中传递给Java的命令行参数,包括JVM选项和类路径选项?我有一个Java程序,需要重新启动JVM并操纵它的bootclasspath(即试图覆盖某些系统类)。我使用libc
system
方法来调用新的JVM。重建java命令行参数
我打开更好的方法,但Java代理不是一个选项。
有没有一种方法来重建在Java程序中传递给Java的命令行参数,包括JVM选项和类路径选项?我有一个Java程序,需要重新启动JVM并操纵它的bootclasspath(即试图覆盖某些系统类)。我使用libc
system
方法来调用新的JVM。重建java命令行参数
我打开更好的方法,但Java代理不是一个选项。
Err ...修改整个核心Java类运行时是一个非常非常糟糕的主意。
子类化在这里有什么问题?你想修改一个外部库,添加功能还是懒惰?
为什么downvote? – TheLQ 2010-06-11 15:25:18
欢迎来到互联网,朋友。 – 2015-11-01 01:06:52
我同意使用bootclasspath把玩通常是一个贫穷的想法。但是...
获取“java.c”的代码 - 编译为java.exe的C程序。你会发现它只是使用JNI Invocation API来构造一个JVM并调用主方法。您可以修改并重新编译此代码以查找特定的退出代码等,并在需要时循环并重新启动JVM。另外,Eclipse可以做到这一点(或者至少用于),但是有一个Java程序构造命令行(来自道具文件等)并启动一个子进程。同样,它钩住子流程退出代码并用它来决定是否重新启动新的子流程。
我真的很好奇你在这里试图做什么...... – alex 2010-06-09 19:18:58
是否有'ps -xxx'? – trashgod 2010-06-09 19:53:24
@trashgod,它不可用于重用 – notnoop 2010-06-10 02:50:33