2011-09-02 21 views
1

我可以在軟件包中生活一個小程序嗎?即:軟件包中包含的Java小程序

bfwd.RedemptionOnline.client 

將是包,RedemptionOnlineApplet.class將生活在該包內。如果可以的話,如果它住在RedemptionOnline.jar中,你會如何爲它創建標籤?

這裏是我使用的標籤:

<applet code="bfwd/RedemptionOnline/client/RedemptionOnlineApplet" width="1" height="1" archive="RedemptionOnline.jar"> 
    <PARAM NAME="MAYSCRIPT" VALUE="true"> 
</applet> 

,這裏是一個日誌中的錯誤我得到的:

Java Plug-in 10.0.0.147 
Using JRE version 1.7.0-b147 Java HotSpot(TM) Client VM 
User home directory = C:\Users\LordZardeck 
---------------------------------------------------- 
c: clear console window 
f: finalize objects on finalization queue 
g: garbage collect 
h: display this help message 
l: dump classloader list 
m: print memory usage 
o: trigger logging 
q: hide console 
r: reload policy configuration 
s: dump system and deployment properties 
t: dump thread list 
v: dump thread stack 
x: clear classloader cache 
0-5: set trace level to <n> 
---------------------------------------------------- 
basic: Added progress listener: [email protected] 
basic: Plugin2ClassLoader.addURL parent called for http://localhost/redemption/RedemptionOnline.jar 
network: Cache entry found [url: http://localhost/redemption/RedemptionOnline.jar, version: null] prevalidated=false/0 
network: Connecting http://localhost/redemption/RedemptionOnline.jar with proxy=DIRECT 
network: Connecting http://localhost:80/ with proxy=DIRECT 
network: Connecting http://localhost/redemption/RedemptionOnline.jar with cookie "PHPSESSID=loub2i9mprilg7ihvjn8g960v1" 
network: ResponseCode for http://localhost/redemption/RedemptionOnline.jar : 304 
network: Encoding for http://localhost/redemption/RedemptionOnline.jar : null 
network: Disconnect connection to http://localhost/redemption/RedemptionOnline.jar 
cache: Reading Signers from 5 http://localhost/redemption/RedemptionOnline.jar | C:\Users\LordZardeck\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\4\40bb90c4-62ab3bc6.idx 
network: No certificate info for unsigned JAR file: http://localhost/redemption/RedemptionOnline.jar 
cache: Read manifest for http://localhost/redemption/RedemptionOnline.jar: read=82 full=82 
network: Cache entry not found [url: http://localhost/redemption/, version: null] 
network: Cache entry not found [url: http://localhost/redemption/bfwd/RedemptionOnline/client/RedemptionOnlineApplet.class, version: null] 
network: Connecting http://localhost/redemption/bfwd/RedemptionOnline/client/RedemptionOnlineApplet.class with proxy=DIRECT 
network: Connecting http://localhost/redemption/bfwd/RedemptionOnline/client/RedemptionOnlineApplet.class with cookie "PHPSESSID=loub2i9mprilg7ihvjn8g960v1" 
network: Cache entry not found [url: http://localhost/redemption/bfwd/RedemptionOnline/client/RedemptionOnlineApplet.class, version: null] 
network: Connecting http://localhost/redemption/bfwd/RedemptionOnline/client/RedemptionOnlineApplet.class with proxy=DIRECT 
network: Connecting http://localhost/redemption/bfwd/RedemptionOnline/client/RedemptionOnlineApplet.class with cookie "PHPSESSID=loub2i9mprilg7ihvjn8g960v1" 
java.lang.ClassNotFoundException: bfwd.RedemptionOnline.client.RedemptionOnlineApplet 
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
basic: load: class bfwd/RedemptionOnline/client/RedemptionOnlineApplet not found. 
java.lang.ClassNotFoundException: bfwd.RedemptionOnline.client.RedemptionOnlineApplet 
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
basic: Removed progress listener: [email protected] 
security: Reset deny session certificate store 

回答

1

如果您的Applet類打包在可由http://example.com/RedemptionOnline.jar下載的JAR文件中,那麼您應該在code中指定打包類的全限定名稱,在archive(注意JAR文件的)公共網頁網址:區分大小寫):

<applet code="bfwd.RedemptionOnline.client.RedemptionOnlineApplet" archive="RedemptionOnline.jar"> 

(我同意喬恩是包名應該小寫,符合Java Naming Conventions

如果你的Applet類僅僅是一個鬆散的.class文件在公共網頁內容,其通過http://example.com/bfwd/RedemptionOnline/client/RedemptionOnlineApplet.class是下載的,那麼你應該明確指定其(相對的)公共網頁中code而不是URL(注:也是區分大小寫!):

<applet code="bfwd/RedemptionOnline/client/RedemptionOnlineApplet.class"> 

你現在明白什麼時候使用句點,何時使用斜線和何時使用後綴.class

+0

你需要更具體的關於「不工作」。怎麼了?不會發生什麼?你還得到那個'ClassNotFoundException'嗎?然後在JAR中沒有'bfwd/RedemptionOnline/client/RedemptionOnlineApplet.class'文件。提取JAR以確保。如有必要重建JAR。或者,也許您的瀏覽器在緩存中具有舊版本的JAR,清除瀏覽器緩存或重命名JAR文件。 – BalusC

+0

我的錯誤日誌發佈在我的問題中。它沒有找到我認爲的小程序類 – LordZardeck

+0

在瀏覽器中下載'http:// example.com/RedemptionOnline.jar'並用一些ZIP工具打開它。類文件是否在預期的文件夾(包)結構中? – BalusC

1

是,小程序可以在包 - 雖然我會建議你遵循約定和命名的包裝

com.bfwd.redemptiononline.client 

當你創建標籤,你只是speci FY完全合格的名稱:

com.bfwd.redemptiononline.client.RedemptionOnlineApplet.class 

或可能(文檔而變化,這是一個漫長的時間,因爲我做了任何小應用程序的工作)

com.bfwd.redemptiononline.client.RedemptionOnlineApplet 

甚至:

com/bfwd/redemptiononline/client/RedemptionOnlineApplet.class 
+0

請問爲什麼選擇com?此外,減去COM,我試過所有這些。你能給我一個實際的標籤試試嗎?也許我沒有正確格式化我的標記 – LordZardeck

+0

@LordZardeck:按照慣例,Java包名以相反的DNS名開頭。不,我沒有示例applet標籤,我可以很容易地顯示 - 但你可以看看view-source:http://www.tantrix.com/cgi-bin/gs_logon.cgi?pname = guest&language =?pname = guest&language = –

+0

好吧,我甚至用斜線試過。也許你可以理解這個日誌: – LordZardeck

相關問題