如何让应用程序使用Java WebStart运行

如何让应用程序使用Java WebStart运行,java,java-web-start,jnlp,Java,Java Web Start,Jnlp,我已经断断续续地试图弄明白这一点有好几个星期了,今天我花了相当多的时间和UTD的一位老教授在一起,但我们仍然无法弄明白 我有一个一直在开发的应用程序,我希望将其部署为WebStart应用程序。我已经尝试过这样做自签名和未签名,但都会得到不同的错误 现在我只是想让应用程序在我的机器上本地启动(运行最新的MacOS) 我已将JDK更新为11.0.2。尝试了使用已签名和未签名证书的不同配置。尝试将application.jar和.jnlp文件添加到Java控制台中的站点异常列表中(以及其他随机事件,以

我已经断断续续地试图弄明白这一点有好几个星期了,今天我花了相当多的时间和UTD的一位老教授在一起,但我们仍然无法弄明白

我有一个一直在开发的应用程序,我希望将其部署为WebStart应用程序。我已经尝试过这样做自签名和未签名,但都会得到不同的错误

现在我只是想让应用程序在我的机器上本地启动(运行最新的MacOS)

我已将JDK更新为11.0.2。尝试了使用已签名和未签名证书的不同配置。尝试将application.jar和.jnlp文件添加到Java控制台中的站点异常列表中(以及其他随机事件,以查看是否有任何错误发生了更改,但没有发生) 偶尔我会看到我作为依赖项添加的activation.jar(用于Oracle的JavaBeans激活框架)会出现,说应用程序被阻止,因为证书已过期。但是,在我最近尝试的大多数配置中,我都无法重新创建此功能。我已经通过了许多张贴在这里的甚至是比较接近的问题,但没有一个能让我更接近一个解决方案

JNLP文件:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="file:/Users/Thomas/OneDrive/MSVO/dist/" href="launch.jnlp" spec="1.0+">
<information>
    <title>MSVO</title>
    <vendor>Thomas</vendor>
    <homepage href=""/>
    <description>MSVO</description>
    <description kind="short">MSVO</description>
    <icon href="splash_screen.jpg" kind="splash"/>
</information>
<update check="always"/>
<security>
    <all-permissions/>
</security>
<resources>
    <j2se version="11+"/>
    <jar href="MSVO.jar" main="true"/>
    <jar href="lib/commons-io-2.6.jar"/>
    <jar href="lib/joda-time-2.10.1.jar"/>
    <jar href="lib/mail.jar"/>
    <jar href="lib/mysql-connector-java-8.0.15.jar"/>
    <jar href="lib/smtp-1.4.4.jar"/>
    <jar href="lib/swingx-all-1.6.4.jar"/>
    <jar href="lib/AbsoluteLayout.jar"/>
    <extension href="jnlpcomponent1.jnlp"/>
</resources>
<application-desc main-class="Controller.MSVO_controller">
</application-desc>
当我以自签名方式运行时,我得到:

如果您需要任何其他信息,请告诉我,我将很乐意更新此信息


不知道从这里到哪里去

。您可以使用Java11编译,但尝试使用Java8运行。修复此问题(取决于您使用的工具,但通常这不是问题-只需将编译器配置为生成8的代码),然后重试again@igorepst嗯,它不起作用,但它确实改变了我收到的错误。现在回到调用我在原始帖子中提到的activation.jar文件。出现的错误窗口实质上是-Name:MSVO(我的项目名称)Location:file://(它没有列出任何文件路径,我不确定这是否是正常行为)原因:以下资源使用弱签名算法MD5withRSA进行签名,并被视为未签名:file/Users/Thomas/OneDrive/MSVO/dist/lib/activation.jar…@igorepst我尝试将上面的文件名添加到异常站点列表以及file:,只是为了看看它是否有效,但没有。很好,为什么不将签名算法更改为更强的算法?@igorepst我不知道您可以更改未创建的jar文件的签名算法。我得研究一下怎么做。谢谢你的建议。
    java.lang.UnsupportedClassVersionError: Controller/MSVO_controller has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at com.sun.jnlp.JNLPClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
        at com.sun.javaws.Launcher.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:748)