【发布时间】:2010-03-06 17:36:38
【问题描述】:
我的 Java 程序无法查看打包在外部 jar 中的类。我在 Windows 7 下运行。我将类嵌入到一个名为 ParserUtilities.jar 的 jar 中。我使用系统实用程序和环境选项卡使用 CLASSPATH 变量建立了路径。 我确认 CLASSPATH 设置正确。当我输入 echo %CLASSPATH% 时,我看到 C:\Program Files\Java\externaljars\ParserUtilities.jar 这是正确的。但是当我输入 java -jar Parse.jar(我的可执行文件)我收到错误 线程“main”中的异常 java.lang.NoClassDefFoundError: com/artificialmed/Initialize
一些附加信息:
- 当我将 ParserUtilities.jar 放入 ..\lib\ext 目录时,一切正常。
- 我正在运行 java 版本 1.6.0_16。 Java(TM) SE 运行时环境
- 在实验中,我输入了 java -cp C:\Program Files\Java\jre6\lib\ext>java -cp C:\Program Files\Java\externaljars\ParserUtilities.jar
并收到此错误“找不到主类:Files\Java\externaljars\ParserUtilities.jar”,但没有主类(它只是我在一堆程序中使用的类的集合)。
我没有在环境中加载 Java SDK,只有一个 Java JRE(这是问题吗?)。
【问题讨论】:
-
您使用的确切命令行是什么?我很困惑,因为您提到 ParserUtilities.jar 和 Parse.jar
-
Parse.jar 是一个包含应用程序的jar。它使用了一些打包在一个名为 ParserUtilities.jar 的 jar 中的辅助类。当我想运行应用程序时,我输入 java -jar Parse.jar。当 ParserUtilities.jar 位于 ..\lib\ext\ 文件夹中时,应用程序运行良好。但是当我将它移动到不同的目录时,即使 CLASSPATH 设置为该目录,我也会收到错误。
标签: java installation jar