使用相同的JVM在Java应用程序中启动Java Web启动应用程序?

使用相同的JVM在Java应用程序中启动Java Web启动应用程序?,java,java-web-start,jnlp,Java,Java Web Start,Jnlp,此应用程序启动JavaWebStart应用程序。但它将在自己的JVM中启动。系统中的标准JVM!我正在寻找一种方法,将JWS应用程序启动到与此应用程序相同的JVM中。因此,java版本和其他所有内容都是相同的 public static void main(String[] args) { try { final File jnlp = File.createTempFile("temp", ".jnlp"); final URL url = new UR

此应用程序启动JavaWebStart应用程序。但它将在自己的JVM中启动。系统中的标准JVM!我正在寻找一种方法,将JWS应用程序启动到与此应用程序相同的JVM中。因此,java版本和其他所有内容都是相同的

public static void main(String[] args) {
    try {
        final File jnlp = File.createTempFile("temp", ".jnlp");
        final URL url = new URL("http://localhost:8080/Test.jnlp");
        yourCopyStreamMethodYouWrote(url.openStream(), new FileOutputStream(jnlp));

        Desktop.getDesktop().open(jnlp);
    } catch (final Throwable t) {
        // do something useful here
    }
}

private static void yourCopyStreamMethodYouWrote(InputStream openStream, FileOutputStream fileOutputStream) throws IOException {
    IOUtils.copy(openStream,fileOutputStream);
    openStream.close();
    fileOutputStream.close();
}

所以java版本和其他所有东西都是一样的。。为什么?如果您想在当前JVM中执行某些东西,那么就不使用JWS。只需将jar放在应用程序的类路径中,并调用所需的方法即可。谢谢,但无法使用jar文件。该应用程序位于服务器上,我无法更改任何内容,而客户端则是不同版本的java。因此,我必须使用不同版本的java启动应用程序,因为每次应用程序从主版本获取一些函数时,我都会遇到一些错误,所以它不能与批处理/javaws.exe一起工作。我不能更改客户端上的java配置,我只能更改应用程序调用。因此,现在我正在寻找将jnlp文件调用到应用程序和同一JVM中的方法。