0

下面是我的 HTML 代码

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<applet codebase ="." code="CallApplet.class"
        archive="CallApplet.jar,jna.jar,platform.jar"
        height="100" width="100"/>
</body>
</html>

以上html文件和所有jar都在同一个文件夹中

我在这里做错了什么,我收到错误 java.lang.NoClassDefFoundError: com/sun/jna/Library

如果您想查看我的小程序代码,请转到Applet 在 eclipse 中运行但不在浏览器中运行 - java security

更新

我需要签署所有外部 jar 文件 [jna 和平台]

现在我收到错误 - java.lang.UnsatisfiedLinkError:无法加载库“TSCLIB”:找不到指定的模块。

基本上这个错误是因为它试图访问放置在 system32 文件夹中的 DLL 文件。有人可以帮忙吗

4

1 回答 1

-1

我想我通过小程序学到了一些关于 JNA 的知识

  1. 首先使用 jarsigner 验证所有 jar 是否都已正确签名。

  2. 在我的情况下,eclipse 使用 64 位 JVM 运行(因此 applet 在其中运行良好)而 chrome 使用 32 位运行,所以我不得不为不同的 JVM 使用不同的 dll。我也将dll文件放在system32之外,比如c:并通过System.load使用绝对路径加载它(我相信这可以是动态的)。

希望这会在使用 JNA 开发小程序时对其他人有所帮助

于 2012-12-27T07:31:50.597 回答