Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web Start-运行时ClassNotFoundException_Java_Deployment_Jnlp_Java Web Start_Classnotfoundexception - Fatal编程技术网

Java Web Start-运行时ClassNotFoundException

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:

我现在正尝试使用JavaWebStart部署一个Java应用程序。独立运行时,应用程序工作正常。我将项目导出为runnable.jar文件,然后编写相应的jnlp文件

但是,当从jnlp文件运行时,应用程序在启动时返回以下错误:

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>