Java ClassLoader VM参数

时间:2015-08-20 17:19:23

标签: java jvm arguments executable-jar jvm-arguments

以下代码尝试启动外部可执行JAR文件。

final File file = new File("/path/to/executable.jar");
JarFile jarFile = null;
jarFile = new JarFile(file);
final Manifest manifest = jarFile.getManifest();
final URLClassLoader child = new URLClassLoader(new URL[] { file.toURI().toURL() }, Launcher.class.getClassLoader());
final Class<?> classToLoad = Class.forName("com.example.launcher.Launcher", true, child);
final Method method = classToLoad.getDeclaredMethod("main", String[].class);
final Object[] arguments = { new String[0] };
        method.invoke(null, arguments);
jarfile.close();

主方法接收的参数可以在Object[] arguments中设置但是如何设置VM参数,例如-XstartOnFirstThread

1 个答案:

答案 0 :(得分:0)

要设置JVM参数,必须启动JVM。您当前的代码将在已经运行的JVM中运行main方法。

要启动JVM,使用java运行ProcessBuilder命令可能最简单。