1

配置 Web 启动。我试图查找它,但找不到我的错误的答案。

java.lang.ClassNotFoundException: Webstart.Main
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
    at com.sun.javaws.Launcher.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

在我的服务器上,我有:

test.jar
Webstart.jnlp

这是我的 .jnlp 文件

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://www.[mywebsite].com/_webstart/" href="webstart.jnlp">
  <information>
    <title>JFrame Deom</title>
    <vendor>[ME]</vendor>
    <homepage href="http://www.[mywebsite].com" />
    <description>A Java Webstart Test</description>
    <offline-allowed />
  </information>
  <resources>
    <j2se version="1.7" />
    <jar href="Webstart.jar" />
  </resources>
  <security>
    <all-permissions />
  </security>
  <application-desc main-class="Webstart.Main" />
</jnlp>

这是我的 Java 类:

import java.awt.BorderLayout;
import javax.swing.*;

public class Main {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JFrame f = new JFrame("My Frame");
        f.setSize(250,250);
        f.setLocation(300,300);
        f.getContentPane().add(BorderLayout.CENTER, new JTextArea(10,40));
        f.setVisible(true);
    }
} 

我运行文件的方式是在 Web 浏览器 URL 中输入名称。

我是新手,所以非常感谢任何帮助或支持性意见。先感谢您。

4

1 回答 1

2

我马上就看到了两个问题。

  1. 在您的 JNLP 文件中,您将 JAR 指定为Webstart.jar,但在您的部署中,它被称为test.jar
  2. 在您的 JNLP 文件中,您将主类指定为Webstart.Main,但您的Main类不在任何包中(您包含在发布的代码中)。
于 2013-02-19T03:56:04.013 回答