我的代码在 Eclipse 中运行良好,没有构建路径错误或任何东西,但是当我尝试从命令行运行我的 Java 程序时,我得到了classNotFound Exception
一个内部类。我不仅不明白我是如何得到这个异常的,而且我什至不知道如何调试它,因为它在 IDE 环境中看起来和工作正常。任何帮助表示赞赏!
编辑
我正在为名为 J-- 的 Java 子集编写一个编译器,所以我真的不想深入了解它是如何工作的。但javac HelloWorld.java
我不会打电话,而是打电话给等效的j-- HelloWorld.java
. javac
工作正常。您可能会说问题出在您的代码上,但它再次在 Eclipse 中编译并运行良好。因此,某处似乎存在脱节。如果有帮助,这里是 Windows bash 脚本:
set BASE_DIR=%~dp0
set j="%BASE_DIR%\..\"
set JAVA=java
set CPATH="%BASE_DIR%\..\lib\j--.jar;%BASE_DIR%\..\lib\spim.jar"
if "%CLASSPATH%" == "" goto runApp
set CPATH=%CPATH%;"%CLASSPATH%"
:runApp
%JAVA% -classpath %CPATH% jminusminus.Main "j--" %*
set JAVA=
set BASE_DIR=
set CPATH=
编辑
感谢 Aubin,输出.jar
文件并将其与 进行比较class not found
是我能够解决此冲突的方法。