Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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 无效的jar文件_Java_Java Web Start - Fatal编程技术网

Java 无效的jar文件

Java 无效的jar文件,java,java-web-start,Java,Java Web Start,我已经创建了一个应用程序客户端应用程序,希望通过web start进行部署。该应用程序在Eclipse中工作,我已经在ear文件中对jar文件进行了自签名。当我点击链接下载它时,我会收到以下信息: java.io.IOException: Invalid jar file 我该怎么做才能弄清楚这件事 Exception in thread "main" java.lang.NoClassDefFoundError: com/jme3/app/SimpleApplication at j

我已经创建了一个应用程序客户端应用程序,希望通过web start进行部署。该应用程序在Eclipse中工作,我已经在ear文件中对jar文件进行了自签名。当我点击链接下载它时,我会收到以下信息:

java.io.IOException: Invalid jar file
我该怎么做才能弄清楚这件事

Exception in thread "main" java.lang.NoClassDefFoundError: com/jme3/app/SimpleApplication
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Caused by: java.lang.ClassNotFoundException: com.jme3.app.SimpleApplication
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 13 more
[编辑更新]
在我使用导出选项包括依赖库之后,jar文件现在在本地运行。我已经对jar文件进行了自签名,但仍然通过webstart获得了无效的jar文件响应。罐子大小现在是150mb,这会导致问题吗

当JAR本身实际上不是可执行JAR时,就会发生这种情况。一个真正的可执行文件JAR应该至少有一个带有
main()
方法的类,并在
MANIFEST.MF
中引用它。Eclipse中重要的一点是将JAR导出为可运行的JAR文件


请参阅或

我已经这样做了(很好地使其成为exe之后),我认为这是必需的类,单独的库,没有被带到导致它的jar中。是否可以在命令行上运行jar。如果您发布整个堆栈跟踪,而不仅仅是消息,可能会有所帮助。添加堆栈跟踪如何将所需的类添加到输出jar文件?它们位于Eclipse中的类路径上,但没有进入jar。jar不包含依赖的jar。您需要在您的应用程序中指定依赖JAR。作为一种解决方法,您可以扩展依赖jar并在jar中包含类。eclipse提供了一个帮助您创建JNLP文件的插件。我不需要单独的插件,我可以通过eclipse菜单来实现。我现在在jar中有了所有的类,它从cmd运行,没有错误。在尝试通过web start获取jar时,我仍然得到无效的jar。它虽然有150mb,但很大。可能是