Java Web Start-运行时ClassNotFoundException
我现在正尝试使用JavaWebStart部署一个Java应用程序。独立运行时,应用程序工作正常。我将项目导出为runnable.jar文件,然后编写相应的jnlp文件 但是,当从jnlp文件运行时,应用程序在启动时返回以下错误:Java Web Start-运行时ClassNotFoundException,java,deployment,jnlp,java-web-start,classnotfoundexception,Java,Deployment,Jnlp,Java Web Start,Classnotfoundexception,我现在正尝试使用JavaWebStart部署一个Java应用程序。独立运行时,应用程序工作正常。我将项目导出为runnable.jar文件,然后编写相应的jnlp文件 但是,当从jnlp文件运行时,应用程序在启动时返回以下错误: Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: someClass ........ Caused by: java.lang.ClassNotFoundException:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: someClass
........
Caused by: java.lang.ClassNotFoundException: someClass
.........
我使用EclipseHelios导出了.jar文件,并带有“将所需库打包到生成的jar”选项
下面是我的jnlp文件的样子(我替换了一些信息):
无论什么
无论什么
此外,我正在使用WebLogic 10来托管文件,但我怀疑这会有什么不同
有人能帮我吗
谢谢你的意见 来自:
必须从JNLP文件的resources部分中指定的JAR文件检索所有应用程序资源,或者使用对Web服务器的HTTP请求显式检索所有应用程序资源。建议将资源存储在JAR文件中,因为它们将通过JavaWebStart缓存在本地机器上
因此,WebStart应用程序的类装入器机制不同。我假设是打包选项“将所需库打包到生成的JAR中”导致了您的案例中的问题
类
someClass
是否包含在您的signed.jar
文件中的jar中?如果是这样,这将支持这一理论——尝试生成单独的jar文件(别忘了对它们全部签名!),并在
部分将它们作为单独的
条目引用 所以您尝试了完全相同的jar单机版,即从命令行启动它?确定所有必需的类都在JAR中吗?@Thomas是的,独立运行时运行良好。谢谢你的回答!我想这应该是原因,我会检查。。。p、 很抱歉编辑,我只是取出了我程序的信息,我忘记删除了。
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+"
codebase="................"
href="thisJNLP.jnlp">
<information>
<title>Whatever</title>
<vendor>Whatever</vendor>
</information>
<security>
<all-permissions/>
</security>
<resources>
<!-- Application Resources -->
<j2se version="1.6+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="signed.jar" main="true" />
</resources>
<application-desc
name="Whatever"
main-class="thisProject.main"
width="300"
height="300">
</application-desc>
<update check="background"/>
</jnlp>