2

私のコードは Eclipse で正常に動作し、ビルド パス エラーなどはありませんが、コマンド ラインから Java プログラムを実行しようとするclassNotFound Exceptionと、内部クラスの 1 つでエラーが発生します。この例外がどのように発生するのか理解できないだけでなく、IDE 環境で問題なく動作するため、デバッグの方法さえわかりません。どんな助けでも大歓迎です!

編集

私は J-- と呼ばれる Java のサブセット用のコンパイラを書いているので、それがどのように機能するかについて深く知りたくありません。しかし、呼び出す代わりにjavac HelloWorld.java、同等のものを呼び出しますj-- HelloWorld.javajavac正常に動作します。問題はコードにあると言うかもしれませんが、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

通常、Eclipse は からソースを取得しsrc、クラス ファイルを に生成しますbin

試す:

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

j-- <args>コマンドを埋め込むシェルを作成する必要があるときにツールを呼び出すには、次のようにします。

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