代码之家  ›  专栏  ›  技术社区  ›  notnoop

Java命令行参数的重构

  •  5
  • notnoop  · 技术社区  · 14 年前

    是否有一种方法可以重构Java程序中传递给Java的命令行参数,包括JVM选项和类路径选项?

    我有一个Java程序,需要重新启动JVM并操作它的BooTrassPATH(即试图重写某些系统类)。我用 libc system 方法来调用新的JVM。

    我对更好的方法开放,但Java代理不是一种选择。

    3 回复  |  直到 14 年前
        1
  •  1
  •   Community CDub    7 年前

    为什么不使用像Eclipse一样具有这些属性的文件呢? ini 文件和NetBeans conf 文件夹。这样,您只需读取这些属性并生成具有这些属性的新Java进程。

    回到你以前的问题 answer 应该做

        2
  •  0
  •   dty    14 年前

    我同意使用bootclasspath通常是一个糟糕的主意。但是…

    抓取“java. C”代码,编译成Java.EXE的C程序。您会发现它只是使用JNI调用API来构造一个JVM并调用主方法。您可以修改和重新编译这个代码,以查找特定的退出代码等,并在需要时循环并重新启动JVM。

    或者,伊柯丽斯这样做(或者至少习惯了),但是有一个Java程序构建命令行(从道具文件等),并启动子过程。同样,它挂接子流程退出代码,并使用该代码来决定是否重新启动新的子流程。

        3
  •  -1
  •   TheLQ    14 年前

    呃…修改整个核心Java类 运行时 是个非常坏的主意。

    这里的子类化有什么问题?您是试图修改外部库、添加功能还是懒惰?