【发布时间】:2014-03-16 13:30:55
【问题描述】:
我创建了一个要通过 Web 启动部署的 App Client 应用程序。该应用程序在 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 会导致问题吗?
【问题讨论】:
-
Corrupt jar file的可能重复
标签: java java-web-start