JApplet在小程序查看器中工作,而不是在HTML页面中



本主题以这样或那样的形式介绍过,但其他线程都无法提供帮助。我的问题与这篇文章非常相似,我正在制作一个添加了功能的JUNG图,但没有任何解决方案有帮助:

JApplet无法在HTML页面中运行

我有一个Java应用程序,我把它转换成了JApplet。JApplet在Eclipse中的小程序查看器中运行良好,但当我尝试在网页中打开它时(我尝试过IE、FireFox和Chrome),它将不起作用。我的HTML页面和归档文件夹都在同一个目录中。当我加载HTML页面时,它不会显示任何内容。

这是我的html代码:

<html>
<title>Applet</title>
<head>
</head>
<body>
<applet code="prerna.blueprint.main.BPTester.class" 
        archive="applet1.jar"
        width="800" height="800">
</applet>
</body>
</html>

当我尝试使用code="BPTester.class"时,它会给出java.lang.ClassNotFoundException:BPTester.class,但当我使用code="prerna.bblueprint.main.BPTester.class"时,它不会给我任何错误,只是什么都不会发生。(prerna/bblueprint/main/BPTester.class是我的src文件夹中的文件路径)。我将Java项目导出为可运行的jar文件,这是正确的吗?我创建了一个简单的JApplet,当我完成所有相同的步骤时,它运行良好,但它不适用于BPTester.class.

如果我需要发布我的BPTester.class代码,我可以。

我不明白为什么我不能在网页上查看JApplet,任何帮助都将不胜感激。

最终对我起作用的是将我在japplet中使用的每个jar添加到HTML归档标记中,然后必须对每个jar进行签名。然后我在访问applet1.jar中的数据库时遇到了问题,所以我只为它的位置设置了一个绝对路径。

java.security.AccessControlException:拒绝访问(java.util.PropertyPermission user.dir read)

小程序需要经过数字签名(由您)和信任(在提示时由最终用户),然后才能获得此类信息。鉴于此小程序是使用传统的小程序元素部署的(即不使用web启动),所有jar都需要签名。

您需要对每个jar进行签名。您可以使用jarsigner实用程序对所有jar进行签名。示例:

jarsigner.exe "nameofthejar.jar" "alias"

从末尾移除.class。您可以使用末尾带有斜线和.class的文件路径,也可以只使用句点而不使用.class。

尝试在java控制面板中打开跟踪。然后,它将在以下路径中生成一个日志文件,这可能会有所帮助:%USERPROFILE%AppDataLocalLowsunjavaDeploymentlog

最新更新