2012-07-25 53 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