java - 使用 JNLP 启动 Applet 时找不到类异常

标签 java jsp applet jnlp next-generation-plugin

我在尝试使用 JNLP 启动 jar 文件时遇到了问题。我们之前已经在没有 JNLP 的情况下启动了小程序,没有任何问题。我们想启动三个不同的 jar,它们与 jnlp 文件一起保存在同一目录中。所有 jar 都已下载,但是当我们尝试从一个外部 jar(即不是主要的 jar)加载类时,我们会立即看到 classNotFoundError。应用程序一直运行直到发生这种情况,所以我们的主 jar 似乎在执行。 JNLP 文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" href="/jars/file.jnlp">
<information>
    <title>Client</title>
    <vendor>My Vendor</vendor>
    <description>Description</description>
    <description kind="short">Desc</description>
    <offline-allowed />
</information>
<security>
    <all-permissions />
</security>

<resources>
    <j2se version="1.6+" />
    <jar href="mainJar.jar" main="true" download="eager"/>
    <jar href="extJar1.jar" main="false" download="eager"/>
    <jar href="extJar2.jar" main="false" download="eager" />
</resources>
<applet-desc 
    name="MyApp" 
    main-class="path-to-main-class"
    width="1"
    height="1">
</applet-desc>
</jnlp>

然后小程序从 HTML 文件中启动,如下所示:

<applet
    code="com.mycompany.net.MyMainClass" 
    name="MyApp" 
    archive="/jars/extJar1.jar, /jars/extJar2.jar, /jars/mainJar.jar" 
    id="myId" 
    width="1" 
    height="1" 
    mayscript
    alt="The java plugin must be installed.">
            <param name="jnlp_href" value="/jars/file.jnlp"/>
    Java 1.5 or higher required.  
</applet>

然后我用 Janela 检查了 jnlp,没有发现任何错误。它可以在没有 jnlp 文件的情况下从 Eclipse 运行小程序。它还可以从 javaws 打开 jnlp 文件,指定文件或文件的 url。这使我认为是 html 不正确。然而,这是我得到的。我尝试使用以下 javascript 启动,结果相同:

<script src="http://www.java.com/js/deployJava.js"></script>
<script>
var attributes = {
        id:'myId', 
  code:'com.mycompany.net.MyMainClass', 
  width:1, 
  height:1, 
  name:"MyApp"
};
    var parameters = {
        jnlp_href:"/jars/file.jnlp",
        archive:"/jars/extJar1.jar, /jars/extJar2.jar, /jars/mainJar.jar",
    };
deployJava.runApplet(attributes, parameters, '1.6');

最佳答案

我的 JNLP 使用外部 jar,我定义了 codebase="http://example.com/full/path/to/jars/"以及href="http://example.com/full/path/to/jars/file.jnlp"<jnlp>标签。

编辑 试试我的working example - click the Lancer le planificateur button看看它的实际效果。

edit2 查看 JNLP as a Applet in HTML page看看是否Object而不是 Applet会有帮助。

关于java - 使用 JNLP 启动 Applet 时找不到类异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10235419/

相关文章:

java - 打包并分发 DigitalPersona 指纹小程序

java - 从命令行打包 Spring Boot 2.0.0.M5 应用程序时出错

java - 如何更改日期之间的日期格式类型?

java - Hibernate插入语句异常

java - 如何将 Apache Solr 搜索与我的 Java webapp 集成?

java - 在jlist中添加图片

java - 正则表达式非法重复

java - 仅显示最近添加的对象的数组列表

java - 在 .jsp 页面中显示版本

java - 如何向同一个对象添加不同的 Action 监听器