2012-07-09 128 views
0

我在使用netbeans中的java web start applet時遇到了問題。我無法獲得applet從運行地點(即服務器)訪問的文件和圖像的路徑權限。基本上我在本地機器上使用圖像來顯示文件夾和PDF文件的圖標,當我在非web上下文中運行applet時,這種方法運行良好,但試圖在服務器意義上使用它會導致失敗。Java applet中的文件路徑問題

下面是代碼造成的問題:

company.readCompanyFile("C:\\Users\\Chris\\Desktop\\ArFile Clients\\" + companyName + "\\" 
        + companyName + ".cmp"); 

這只是一個簡單的緩衝閱讀器試圖讀取存儲在這個位置上的文件。就是這些目錄應該代替嵌套程序根目錄是內部的問題:

C:\Users\Chris\Documents\NetBeansProjects\ArFile 

一個例子反映了我上面已經給將是巨大的

編輯的信息:這是錯誤消息通過

BadFieldException[ The field <extension>href has an invalid value: C:\Users\Chris\Desktop\ArFile Clients,C:\Users\Chris\Desktop\ArFile Clients] 
at com.sun.javaws.jnl.XMLUtils.getAttributeURL(Unknown Source) 
at com.sun.javaws.jnl.XMLUtils.getRequiredURL(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat.handleResourceElement(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat.access$800(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat$2$1.visitElement(Unknown Source) 
at com.sun.javaws.jnl.XMLUtils.visitChildrenElements(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat$2.visitElement(Unknown Source) 
at com.sun.javaws.jnl.XMLUtils.visitElements(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat.buildResourcesDesc(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat.parse(Unknown Source) 
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptorFromCache(Unknown Source) 
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptorFromCache(Unknown Source) 
at sun.plugin2.applet.JNLP2Manager.initialize(Unknown Source) 
at sun.plugin2.main.client.PluginMain.initManager(Unknown Source) 
at sun.plugin2.main.client.PluginMain.access$200(Unknown Source) 
at sun.plugin2.main.client.PluginMain$2.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
Error while initializing manager: BadFieldException[ The field <extension>href has an invalid value: C:\Users\Chris\Desktop\ArFile Clients,C:\Users\Chris\Desktop\ArFile Clients], bail out 
BadFieldException[ The field <extension>href has an invalid value: C:\Users\Chris\Desktop\ArFile Clients,C:\Users\Chris\Desktop\ArFile Clients] 
at com.sun.javaws.jnl.XMLUtils.getAttributeURL(Unknown Source) 
at com.sun.javaws.jnl.XMLUtils.getRequiredURL(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat.handleResourceElement(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat.access$800(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat$2$1.visitElement(Unknown Source) 
at com.sun.javaws.jnl.XMLUtils.visitChildrenElements(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat$2.visitElement(Unknown Source) 
at com.sun.javaws.jnl.XMLUtils.visitElements(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat.buildResourcesDesc(Unknown Source) 
at com.sun.javaws.jnl.XMLFormat.parse(Unknown Source) 
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptorFromCache(Unknown Source) 
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptorFromCache(Unknown Source) 
at sun.plugin2.applet.JNLP2Manager.initialize(Unknown Source) 
at sun.plugin2.main.client.PluginMain.initManager(Unknown Source) 
at sun.plugin2.main.client.PluginMain.access$200(Unknown Source) 
at sun.plugin2.main.client.PluginMain$2.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
Error while initializing manager: BadFieldException[ The field <extension>href has an invalid value: C:\Users\Chris\Desktop\ArFile Clients,C:\Users\Chris\Desktop\ArFile Clients], bail out 
+1

您是否設置了安全措施以允許小應用程序訪問本地資源? – John3136 2012-07-09 01:15:19

+0

在簽署?我已經設置了小應用程序被簽署 – 2012-07-09 01:19:04

+0

我想我可能已經解決了這個問題,正在生成的.jlnp文件添加了一個不存在的引用,刪除了我的應用程序編譯並運行後,現在它有一個完全不同的問題,但是在再次發佈之前,它會先嚐試修補它 – 2012-07-09 03:50:16

回答

0

我用的是相對文件路徑功能Applet中給出的,這並不在Java Web Start的環境中工作,絕對尋路必須被用於應用程序的功能。