我需要一些帮助来处理以下场景.
我使用两个小程序,需要相同的本机库(.dll)文件.
因此,当我从网页运行applet时,第一次applet将dll加载到applet类加载器中.它工作正常.但是当第二个applet尝试加载相同的dll时,它给了我一个例外"Error loading win32com: java.lang.UnsatisfiedLinkError: Native Library C:\WINDOWS\system32\win32com.dll already loaded in another classloader"
我使用以下方法加载驱动程序.
CommDriver driver = (CommDriver)Class.forName("com.sun.comm.Win32Driver").newInstance();
driver.initialize();
Run Code Online (Sandbox Code Playgroud)
请给我解决方案
谢谢&Rgds,瑞诗凯诗
是否可以在Applet中使用JNI(Java Native Interface),有没有人尝试过?
我以各种方式签署了我的jar,但是当我使用命令时,我不断收到上述错误消息:
jarsigner -verify -verbose [my jar]
Run Code Online (Sandbox Code Playgroud)
有没有办法摆脱这个错误?如果没有重新认证,我的代码会在六个月后停止工作吗?
以下是用于生成密钥并在Jar上签名的整套命令:
keytool -genkey -keystore [keystore] -alias [alias] -validity 2000
keytool -selfcert -keystore [keystore] -alias [alias] -validity 2000
jarsigner -keystore [keystore] [jar] [alias]
Run Code Online (Sandbox Code Playgroud) 我正在阅读sun java教程,我在这里看到了这个页面:
在标题"小程序中的线程"下,我找到了这段代码:
//Background task for loading images.
SwingWorker worker = (new SwingWorker<ImageIcon[], Object>() {
public ImageIcon[] doInBackground() {
final ImageIcon[] innerImgs = new ImageIcon[nimgs];
...//Load all the images...
return imgs;
}
public void done() {
//Remove the "Loading images" label.
animator.removeAll();
loopslot = -1;
try {
imgs = get();
} ...//Handle possible exceptions
}
}).execute();
}
Run Code Online (Sandbox Code Playgroud)
首先,我是新的,所以如果这是一个愚蠢的问题,我很抱歉.但是我从来没有听说过".excecute()".我不明白,我无法从谷歌找到任何关于它的东西.我看到这里是......一个匿名的内部阶级?(请纠正我),它正在启动一个加载图像的线程.我以为通过调用start()来调用run()方法?请帮我清除这种困惑.
我必须创建一个测试脚本,我正在使用Selenium,但我无法录制或编辑富文本编辑器Ephox.所以有没有办法与Selenium一起做,因为我看到一篇文章说明无法使用Selenium记录Java applet.如果不是Selenium,还有其他任何可以用于此目的的工具吗?
以下是Ephox的链接供您参考:http: //editlive.com/demo
在尝试回答applet问题时,OP不知道如何查看其applet的错误消息.我已经有一段时间了,因为我自己这样做了,而且我没有找到任何一步一步的说明,所以我在这里为后代发布一个问题和答案.
我正在使用eclipse开发一个java applet,需要在清单中向Class-Path添加一个外部jar.我创建使用记事本的清单文件,用于UTF-8编码并添加在末端的线断裂,但在尝试甚至添加一个简单的例子中期间从Eclipse以下错误罐子创建结果清单.
invalid header field name: ï>¿Manifest-Version
invalid header field name: ï>¿Manifest-Version
Run Code Online (Sandbox Code Playgroud)
我觉得这是一个简单的配置问题,但我无法弄清楚是什么.
为了测试它,我的清单包括单行
Manifest-Version: 1.0
Run Code Online (Sandbox Code Playgroud) 我试图在 Java 小程序中显示阿拉伯字符,但我总是得到问号“?????”。
我尝试了很多解决方案,但都没有成功:
我在西班牙语环境中使用 Windows 7。
某些解决方案在运行 Netbeans 时有效,但它们在此环境之外不起作用。这是带有源代码和 .jar 的 Netbeans 项目。
这是我正在使用的简单代码:
package javaapplication4;
import java.io.ByteArrayOutputStream;
import java.nio.charset.Charset;
import javax.swing.JApplet;
import javax.swing.JOptionPane;
public class JavaApplication4 extends JApplet{
@Override
public void init(){
try {
String str1 = new String("???? ??????? ???? ????? ??? ???".getBytes(), "UTF-8"); …Run Code Online (Sandbox Code Playgroud) 尝试将应用程序移植到其上时,我遇到了一个问题,JApplet因此它可以在浏览器上运行.
课程内容:
CustomClassLoader实现.存储在网站上.问题:
我NoClassDefFoundError试图用我的内容目录加载.class文件CustomClassLoader.
这个错误虽然无法实现,但却与jar中的一个类有关.这门课是抽象的.内容目录中的所有.class文件都扩展此类并填充所有必需的方法.加载这些类后,将引发错误.该程序在正常运行时运行java -jar file.jar良好.
这让我相信它与classpath有关.
安全设置:
我正在通过appletviewer命令运行applet,如下所示:
appletviewer -J-Djava.security.policy=policy file.html
Run Code Online (Sandbox Code Playgroud)
在同一目录中是我的策略文件:
grant {
permission java.lang.RuntimePermission "getenv.APPDATA";
permission java.io.FilePermission "<<ALL FILES>>", "read, write, delete, execute";
permission java.lang.RuntimePermission "exitVM";
permission java.util.PropertyPermission "user.name", "read";
permission java.lang.RuntimePermission "createClassLoader";
};
Run Code Online (Sandbox Code Playgroud)
据我所知,没有其他安全例外被抛出.小程序已签名.
用于加载Applet的HTML文件:
<!DOCTYPE html>
<html>
<body>
<object width="1000" height="600" classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0">
<param name="archive" value="file.jar"/>
<param name="code" value="package.to.Boot"/>
</object>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助解决这个问题.
CustomClassLoader.java:
package org.obicere.cc.methods;
import java.io.File;
public class …Run Code Online (Sandbox Code Playgroud) 我目前正在从事一个具有很多安全性的项目,但在选择技术解决方案以满足客户需求时遇到了一些问题。
首先,让我向您解释客户的需求。
对于我客户的网站,在某些时候用户需要生成私钥和公钥客户端(gui:浏览器),然后将公钥发送到服务器并在本地保存私钥(由用户选择的密码加密)。私钥需要保存,因为它在过程的第二部分使用一次(用户需要输入密码才能解密),一旦使用,我们就可以处理私钥。
我必须补充一点,客户要求向后兼容 IE7。
第一个技术选择:Java Applet
我们查找的第一件事是使用 Java Applet,生成密钥就好了,但是我们在 Safari Mac OSX 上遇到了一个问题,appet 被沙盒化,用户需要执行一个复杂的操作来禁用沙盒 mod。我们的客户不想要这个,因为它不是用户友好的。
第二种解决方案:将加密的私钥保存在 cookie 中
我们保留了 java 小程序,但它不会在磁盘上保存任何内容,它仅用于执行加密操作。我们从小程序传递一个加密的私钥到 javascript 以保存在 cookie 中。我们做得很好,我们可以从 cookie 存储中检索加密的私钥并将其传递给小程序进行解密(弹出窗口要求用户输入他的密码)。
问题 我们知道在 cookie 中保存加密的私钥在技术上是可行的,但问题是:它是否安全,我们在浏览器的 cookie 存储中保存该私钥有什么样的风险?
如果你们中的一个能帮助我,那对我会有很大帮助!
干杯
applet ×10
java ×8
security ×2
appletviewer ×1
arabic ×1
automation ×1
classloader ×1
code-signing ×1
cookies ×1
eclipse ×1
jar ×1
manifest ×1
private-key ×1
public-key ×1
selenium ×1
testing ×1
utf-8 ×1