2

我的代码在 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是我能够解决此冲突的方法。

4

1 回答 1

1

通常 Eclipsesrcbin.

尝试:

java -cp bin a.b.c.d.MyClass

要调用您的工具,j-- <args>您需要编写一个嵌入命令的 shell:

java -cp bin a.b.c.d.MyClass $*
于 2013-04-23T03:17:14.410 回答