看板 java 關於我們 聯絡資訊
請教一下, 我寫了一個 JFrame 的Java視窗程式, 已封裝成 jar檔, 看一本書上說寫一個 .jnlp檔案,放在tomcat的web執行目錄下, 建立一個html檔去開啟.jnlp, jnlp檔的內容指定要執行的jar檔, 我把.jar,.jnlp還有那個html都放在同一個web根目錄下, 開啟html檔點那個jnlp的連結後確實啟動了java web start, 但是卻出現錯誤, "無法啟動應用程式" 當中有發現有例外訊息, java.lang.ClassNotFoundException: TestWindowWs at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at com.sun.javaws.Launcher.doLaunchApp(Unknown Source) at com.sun.javaws.Launcher.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 這是為什麼呢? 我直接用 java -jar 的指令可以執行那一個 .jar檔, 可是用這種方式就失敗了, 我把那本書的範例(透過jnlp呼叫.jar)copy到網頁根目錄去執行也都成功, 我以為是我的class沒有import java.net 和 com.sun的內容, 但是把範例的java檔打開看也沒有import java.net 和 com.sun 的東西, 還請高手指點一下迷津, 謝謝. Orz 附上 jnlp檔內容...Test04.jar 的main class 是 TestWindowWs <?xml version="1.0" encoding="UTF-8"?> <!-- JNLP File for Application --> <jnlp spec="1.0+" codebase="http://localhost:8080/JavaWebStart" href="JNLPTest.jnlp"> <information> <title>JNLP Test</title> <vendor>Linus Li</vendor> <description>JNLP Test</description> <description kind="short">JNLP Test</description> <offline-allowed/> </information> <resources> <j2se version="1.6.0+"/> <jar href="Test04.jar"/> </resources> <application-desc main-class="TestWindowWs"/> </jnlp> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.219.64.109
linus:找到問題...jnlp那邊main-class要再加上package名稱..囧 12/17 16:07
linus:暈...到別人的電腦連過來我的電腦執行那程式又出現一樣錯誤 12/17 16:59
colorflags:我覺得web start debug超難的 就是error description 12/17 19:46
colorflags:通常你看到的那個錯誤跟實際上的錯誤沒什麼關係... 12/17 19:50
kene:你用 localhost 當 codebase, 當然別人不知道要到哪抓啊 12/18 00:43
linus:這問題我已經解了...的確是我耍笨,改成ip就ok 12/20 13:16