【发布时间】:2012-11-01 13:48:54
【问题描述】:
我正在运行我的 java 程序,但在执行它时出现以下错误。 之前它运行良好,但现在它抛出以下错误。 我检查了我的类路径,环境变量中的路径都是正确的。
Exception in thread "main" java.lang.UnsatisfiedLinkError: java.util.zip.ZipFile
.open(Ljava/lang/String;IJ)J
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.jar.JarFile.<init>(JarFile.java:135)
at java.util.jar.JarFile.<init>(JarFile.java:72)
at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:646)
at sun.misc.URLClassPath$JarLoader.access$600(URLClassPath.java:540)
at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:607)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:599)
at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:583)
at sun.misc.URLClassPath$3.run(URLClassPath.java:333)
at java.security.AccessController.doPrivileged(Native Method)
at sun.misc.URLClassPath.getLoader(URLClassPath.java:322)
at sun.misc.URLClassPath.getLoader(URLClassPath.java:299)
at sun.misc.URLClassPath.getResource(URLClassPath.java:168)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: com.sun.tools.javac.Main. Program will exit.
【问题讨论】:
-
你是如何尝试运行你的java程序的?它似乎在寻找 tools.jar。
-
快速谷歌搜索得出这个结论:ibm.com/developerworks/mydeveloperworks/blogs/…
-
这是一个需要使用 JDK 运行的程序,而您只使用 JRE 运行它吗?
-
对了,你运行程序的时候为什么要引用javac呢?您是否尝试在运行时编译一个类?
-
@beny23 您应该发表您的评论作为答案,因为我相信这是问题的原因。我在我的 JDK (tools.jar) 中找到了 com.sun.tools.javac 而不是在我的 JRE 中。