作者linus (天使不见了)
看板java
标题[问题] Java Web Start 执行 Java 视窗程式的问题
时间Fri Dec 17 15:42:47 2010
请教一下, 我写了一个 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
1F:→ linus:找到问题...jnlp那边main-class要再加上package名称..囧 12/17 16:07
2F:→ linus:晕...到别人的电脑连过来我的电脑执行那程式又出现一样错误 12/17 16:59
3F:推 colorflags:我觉得web start debug超难的 就是error description 12/17 19:46
4F:→ colorflags:通常你看到的那个错误跟实际上的错误没什麽关系... 12/17 19:50
5F:推 kene:你用 localhost 当 codebase, 当然别人不知道要到哪抓啊 12/18 00:43
6F:→ linus:这问题我已经解了...的确是我耍笨,改成ip就ok 12/20 13:16