类在java web start中找不到

时间:2015-11-17 10:59:36

标签: java jar java-web-start

我正在使用Java web start启动jar文件。

我遵循了以下教程

http://www.mkyong.com/java/java-web-start-jnlp-tutorial-unofficial-guide/

http://examples.javacodegeeks.com/java-basics/web-start/java-web-start-getting-started/

我从我的eclipse IDE创建了java项目。

我的eclipse ide和文件夹中的结构如下,

enter image description here

我将jar和jnlp文件粘贴到tomcat / webapps / ROOT文件夹中,ROOT文件夹的内容如下,

    D:\tomcat7\webapps\ROOT>dir
     Volume in drive D is RECOVERY
     Volume Serial Number is DC2F-E701

     Directory of D:\tomcat7\webapps\ROOT

    18-11-2015  19:23    <DIR>          .
    18-11-2015  19:23    <DIR>          ..
    17-11-2015  16:17               301 .classpath
    17-11-2015  16:17               387 .project
    17-11-2015  16:17    <DIR>          .settings
    23-09-2015  15:19             5,866 asf-logo-wide.gif
    23-09-2015  15:19            17,811 asf-logo.png
    23-09-2015  15:19               713 bg-button.png
    23-09-2015  15:19             1,918 bg-middle.png
    23-09-2015  15:19             1,392 bg-nav-item.png
    23-09-2015  15:19             1,401 bg-nav.png
    23-09-2015  15:19             3,103 bg-upper.png
    23-09-2015  15:19             3,469 build.xml
    17-11-2015  16:48    <DIR>          com
    23-09-2015  15:19            21,630 favicon.ico
    23-09-2015  15:19            12,408 index.jsp
    17-11-2015  16:21             2,957 JNLPExample.jar
    17-11-2015  16:22               612 JNLPExample.jnlp
    17-11-2015  16:20    <DIR>          META-INF
    23-09-2015  15:19             9,195 RELEASE-NOTES.txt
    23-09-2015  15:19             2,376 tomcat-power.gif
    23-09-2015  15:19             5,926 tomcat.css
    23-09-2015  15:19             2,066 tomcat.gif
    23-09-2015  15:19             5,103 tomcat.png
    23-09-2015  15:19            67,787 tomcat.svg
    23-09-2015  15:20    <DIR>          WEB-INF
                  20 File(s)        166,421 bytes
                   6 Dir(s)   2,712,481,792 bytes free

    D:\tomcat7\webapps\ROOT>

输出jar -tvf JNLPExample.jar

    D:\tomcat7\webapps\ROOT>jar -tvf JNLPExample.jar
       338 Tue Nov 17 16:21:16 IST 2015 META-INF/MANIFEST.MF
       500 Tue Nov 17 16:21:16 IST 2015 META-INF/STATHIS.SF
       977 Tue Nov 17 16:21:16 IST 2015 META-INF/STATHIS.DSA
         0 Tue Nov 17 16:20:06 IST 2015 META-INF/
       301 Tue Nov 17 16:17:16 IST 2015 .classpath
       387 Tue Nov 17 16:17:16 IST 2015 .project
         0 Tue Nov 17 16:17:16 IST 2015 .settings/
       598 Tue Nov 17 16:17:18 IST 2015 .settings/org.eclipse.jdt.core.prefs

我的.classpath文件(提取的JNLPExmaple.jar)

    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
        <classpathentry kind="src" path="src"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
        <classpathentry kind="output" path="bin"/>
    </classpath>

我的.project文件(提取的JNLPExmaple.jar)

    <?xml version="1.0" encoding="UTF-8"?>
    <projectDescription>
        <name>JNLPExample</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
            <buildCommand>
                <name>org.eclipse.jdt.core.javabuilder</name>
                <arguments>
                </arguments>
            </buildCommand>
        </buildSpec>
        <natures>
            <nature>org.eclipse.jdt.core.javanature</nature>
        </natures>
    </projectDescription>

安装应用程序时出现以下错误。它说

"java.lang.ClassNotFoundException: main.javacodegeeks.JNLPExample" 

但它可以在那个包中找到。

在我使用的jnlp文件之后,

    <?xml version="1.0" encoding="utf-8"?>
    <jnlp spec="1.0+" codebase="http://localhost:8080/" href="JNLPExample.jnlp">
         <information>
              <title>JNLP Example</title>
              <vendor>Java Code Geeks</vendor>
              <homepage href="http://localhost:8080/" />
              <description>JNLP Testing</description>
         </information>
         <security>
              <all-permissions/>
         </security>
         <resources>
              <j2se version="1.6+" />
              <jar href="JNLPExample.jar" />
         </resources>
         <application-desc main-class="main.javacodegeeks.JNLPExample" />
    </jnlp>

1 个答案:

答案 0 :(得分:0)

在你的jar文件中没有包作为main / javacodegeeks.There sholud是该文件夹中的一个类文件。你可以添加它们并再次压缩一个jar然后尝试,也可以将它暴露给exe jar以便它会按原样压缩。

希望有所帮助......