我创建了一个 JApplet,它使用两个外部库(JENA and JUNG)。当我从 IDE 运行小程序(使用 eclipse)时,它可以正常工作。我创建了一个 jar 文件,对其进行了签名(因为小程序需要从磁盘读取文本),创建了一个 HTML 页面来保存小程序,但是当我尝试在 Web 浏览器中运行它时,我收到了 java 安全警告对话框,当我按运行整个浏览器选项卡似乎挂起。
这是我写的 HTML 文件:
<html>
<head>
<title>Ontology Application</title>
</head>
<body>
<applet code="assignment.Launcher.class" width="1000" height="800" archive="test.jar"></applet>
</body>
</html>
Launcher类包含init、start、stop和destroy方法,项目中用到的所有类都存放在赋值包中。 test.jar 是签名的 jar 文件,它与 HTML 文件放在同一文件夹中。
我按照此线程中的步骤创建我的私钥/公钥、证书并对 jar 文件进行签名:如何签名和小程序(并使其发挥作用)
我有一个关于整个过程的问题清单,因为我不确定其中的几个步骤。
问题 1:我使用 eclipse 创建了 jar 文件(右键单击项目 -> 导出 -> JAR 文件)并保留默认设置。生成的 jar 文件是否包含我导入到项目中的引用库?如果答案是否定的,我如何在 jar 文件中包含引用的库?
问题 2:双击生成的 jar 文件是否应该运行?因为它不运行
(我认为它不起作用,因为没有指定主类,因为小程序没有主方法,但我需要纠正)
问题 3:由于我在小程序中使用外部库,我是否需要对所有导入的 jar 文件进行数字签名才能使小程序正常工作?或者签署主 jar 文件(包含我的类)就足够了?
问题 4:如果有一天我设法使小程序在浏览器中运行,那么每次应用程序尝试从磁盘读取文本时都会弹出 java 安全警告对话框吗?或者安全警告对话框仅在小程序加载时显示一次?
预先感谢,很抱歉在一个线程中提出大量问题,但它们与主题密切相关:)