0

コンソールによるプログラムの実行に問題があります。常に java.lang.NoClassDefFoundError をスローしますが、同じアプリケーションを netbeans で実行すると完全に動作します。

4

2 に答える 2

0

Java プログラムの実行中にオプション「-cp」または「-classpath」を指定すると、Java にクラスパスを追加できます。

以下に示すように、そこにクラスパスを設定します。

 Set CLASSPATH=.;/com/test/classes

 java -cp $CLASSPATH Test

デフォルトでは、Java CLASSPATH は「.」で示される現在のディレクトリを指します。現在のディレクトリでのみクラスを探します。

于 2013-05-14T20:05:08.240 に答える
0

クラスパスの設定が異なります。つまり、コンソールから同じコードを実行すると、NetBeans のクラスパス上の jar がクラスパス上にありません。

クラスパスにあるものを出力する簡単なコード スニペット:

ClassLoader cl = ClassLoader.getSystemClassLoader();

URL[] urls = ((URLClassLoader)cl).getURLs();

for(URL url: urls){ System.out.println(url.getFile()); }

コンソールから -cp オプションを使用して、必要な jar を追加します。

于 2013-05-14T20:05:16.473 に答える