2012-07-25 50 views
0

当我尝试启动我的小程序时出现错误SecurityException Permission denied: file:/d:/Notes/Notes.jar预加载2个罐子时Java Applet权限被拒绝

我需要在我的小程序,使用2瓶:

  1. Applet.jar - 罐子存储applet的代码(JAR签名并正常工作)
  2. Notes.jar文件 - 这是一个库它允许使用Lotus Notes 数据库。

第一个jar从服务器加载,第二个应该从用户的笔记本电脑(保存在运行applet的笔记本电脑上的本地文件)加载。

我使用的HTML代码:

<APPLET CODE = "com.example.AppletClass" WIDTH = 640 HEIGHT = 480 
archive="Applet.jar,file:///${user.apiPath}"> 
<PARAM NAME = "db_path" VALUE ="${user.dbPath}"> 
<PARAM NAME = "view_name" VALUE ="${user.viewName}"> 
Your browser doesn't support applets 
</APPLET> 

问题是在该行:存档= “Applet.jar,文件:/// $ {} user.apiPath”

${user.apiPath} = d:/Notes/Notes.jar

第二个jar无法加载。但如果我将第二个jar移动到服务器并将其加载到客户端的笔记本电脑,一切正常。

不幸的是,这个解决方案对我来说不是很好。

有没有可能从不同的地方加载2个罐子:服务器和本地?

+0

*“第一个jar从服务器加载,第二个应该从用户的笔记本电脑加载”*为什么地球上不会从服务器提供第二个jar? – 2012-07-26 03:46:45

+0

第二个jar是特定于版本的,所以我需要从用户的笔记本电脑获取正确的jar。 的Lotus Notes 7的罐子不与Lotus工作注释8.5 的Lotus Notes 8.5的jar与Lotus Notes 7 – 2012-07-26 06:16:25

+0

我想你反而应该提供7版本与8.5不同的小应用程序的页面无法正常工作,并添加适当的罐子每。或者更好的是,完全丢失applet,将GUI放在一个框架中,并使用[Java Web Start](http://stackoverflow.com/tags/java-web-start/info)直接从链接启动它。您可以将两个Jars添加为懒惰加载,因为应用程序的不同下载“部分” - 通过编程控制为用户缓存哪个Jar。请注意,我怀疑你目前的做法总是有问题。 JRE旨在保护用户,并且不喜欢分割代码库。 – 2012-07-26 08:42:11

回答

0

只注意到...

你写,你有一个像

d路径:/Notes/Notes.jar

我不是很确定,但本地文件路径(至少赢了)正在使用反斜杠

x:\ folder \ file.txt

无论如何,那对你指出哪个操作系统来说会更有帮助。

还有一件事......

例外说,小程序试图让水瓶中

文件:/ d:/ * * jar's_folder_path /罐,name.jar

...但你说的小应用程序需要的jar

d:/Notes/Notes.jar

所以我只想问问客户端机器上是否存在Notes.jar?

+0

我不是很确定,但本地文件路径(在夺冠最少)正在使用反斜杠......无论如何,这将更有帮助你指出哪个操作系统是关于。 我已经尝试了jar路径上的不同斜线(路径将由用户在TextField中输入) 。 我使用的是Windows 7,但代码应尽可能与操作系统无关。 '文件:/ d:/ * * jar's_folder_path /罐-name.jar = d:/备注/ Notes.jar' 这是我的错。我已经修好了。 – 2012-08-07 22:32:09