2015-08-20 66 views
0

下面的代碼嘗試啓動外部可執行JAR文件。Java ClassLoader VM參數

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

回答

0

要設置JVM參數,您必須啓動JVM。您當前的代碼將運行已運行的JVM中的主要方法。

要啓動JVM,最簡單的方法是使用ProcessBuilder運行java命令。