【问题标题】:java applet class not found exception in the chrome browser在 chrome 浏览器中找不到 java 小程序类异常
【发布时间】:2015-06-16 10:15:01
【问题描述】:

我正在尝试使用 Google Chrome 浏览器 运行 Java 小程序。每次我得到找不到类异常。这是我的代码。

HelloWorld.java

package my.first.pack;

import java.applet.Applet;
import java.awt.*;

public class HelloWorld extends Applet {

    /**
     * 
     */
    private static final long serialVersionUID = 2741715258812838900L;

    public void paint(Graphics g) {
        g.drawString("welcome", 150, 150);
    }

}

你好.html

<applet code="my.first.pack.HelloWorld" width="300" height="300">  

【问题讨论】:

  • 您是否使用代码签名证书对您的小程序进行了签名?
  • 不。该怎么做?
  • 显示包含 HTML 和类文件的服务器的目录结构(以及它们的相对位置)。 @VickyThakor 暗示了一些最终必须修复的问题,因为这些天课程需要放在一个(签名的)Jar 中才能有工作的机会。顺便说一句,Chrome 很快就会放弃对启动(除其他外)小程序的 NPAPI 的所有支持。但是..
  • 为什么要编写小程序?如果是老师指定的,请参考Why CS teachers should stop teaching Java applets

标签: java google-chrome applet


【解决方案1】:
  1. 使用证书为您的小程序和所有 .jar 依赖项签名。
  2. 使用下面提到的所有标签填充您的清单(它在 xml 中,因为我使用 maven,您可以按照自己喜欢的方式编写)
<codebase>http://location.of.your.jar/</codebase>
<permissions>all-permissions</permissions>
<Application-Library-Allowable-Codebase>http://location.of.your.jar/</Application-Library-Allowable-Codebase>
<Manifest-Version>1.0</Manifest-Version>
<Implementation-Title>App Name</Implementation-Title>
<Implementation-Version>0.1.0</Implementation-Version>
<Application-Name></Application-Name>
<Created-By>1.8.0_45</Created-By>
<Main-Class>package.YourClass</Main-Class>
<mode>development (or production)</mode>
<url>url of the application</url>
  1. doPrivileged包围你的java方法
  2. 确保您的浏览器已启用 java 插件
  3. 将您的网络应用程序的 http 路径放在 java exception list
  4. 如果您的网址有 _(下划线/下划线),则可能无法识别。
  5. 尝试将 .jar 移动到 html 的同一文件夹中,而不是使用 /applet 文件夹。
  6. 看看这个post,我遇到了类似的问题。

请记住,这个错误说“不是函数”是因为你的 .jar 没有加载——或者你的 js 语法有问题,我不这么认为。

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多