首页 文章

找不到类使用JNLP启动Applet时出现异常

提问于
浏览
2

尝试使用JNLP启动jar文件时遇到问题 . 我们以前在没有JNLP的情况下推出了applet,没有任何问题 . 我们想要启动三个与jnlp文件一起保存在同一目录中的不同jar . 所有的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,如下所示:

<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>

我已经检查了jnlp与Janela,这给了我没有错误 . 它适用于从Eclipse运行applet以及没有jnlp文件 . 它还可以从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');

1 回答

相关问题