我正在尝试在java程序中运行一个jar并捕获它的stdout。 我想这样做是为了避免每次运行jar时都会降低JVM启动成本。最简单的方法是什么?
我开始修改Java的JarClassLoader并为其添加一个SecurityManager子类以防止系统退出。 JarClassLoader是URLClassLoader的子类,它查找jar中的主类,然后在那里执行main函数。但是,当我尝试执行该函数时,我正在获取InvocationTargetExceptions,即使我传递了正确的参数。谁知道从哪里去?
有更简单的方法吗?
答案 0 :(得分:0)
我只是使用Runtime.exec()
,但我无法阻止System.exit()
。