https://stackoverflow.com/a/5575619/20394ライブラリパスに追加して、まだ同じJVMを使用する方法について説明しなければならないありがとうございます。
クラスパスに追加するには、独自のURLClassLoader
を作成し、ロードするクラスにfindを使用してから、その開始メソッドを反射的に呼び出します。
URLClassLoader classLoader = new URLClassLoader(
urlsToDirectoriesAndJars, getClass().getClassLoader());
Class<?> myMainClass = classLoader.findClass("pkg.path.for.MainClass");
Method main = myMainClass.getMethod("main", String[].class);
main.invoke(null, new Object[] { new String[] { "args", "for", "main" } });
反射APIによってスローされるいくつかの例外を処理する必要がありますが、それがその要点です。そのクラスがSystem.exit
を呼び出す場合
、その後、How to prevent calls to System.exit() from terminating the JVM?
はあなたが探検持って見る[Java Web Startは](http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136112.html )? – adarshr
私は自分のマシン上のどこにでもファイルをダウンロードし、ホームフォルダにダウンロードするファイルを windows%appdata%\ folderName mac/linux〜/ folderName – WookooUK
@adarshrと思っています。少し[別のリンク](http://stackoverflow.com/tags/java-web-start/info)。これには、Oracle独自のページも含め、JWS上のさまざまな有益なページへのリンクが含まれています。 –