コンソールによるプログラムの実行に問題があります。常に java.lang.NoClassDefFoundError をスローしますが、同じアプリケーションを netbeans で実行すると完全に動作します。
質問する
776 次
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 に答える