0

いろいろと調べてみましたが、自分のケースに合う答えが見つかりませんでした。

IDE を使用すると、ファイル CB.java を問題なく実行できます。このファイルは、cs2.jar で指定されたクラスに依存します。そのディレクトリの内容は次のとおりです。

02/12/2013  03:43 PM    <DIR>          .
02/12/2013  03:43 PM    <DIR>          ..
02/12/2013  03:45 PM             2,226 CB.class
02/12/2013  01:21 PM             2,164 CB.java
02/12/2013  03:43 PM            71,128 cs2.jar
               3 File(s)         75,518 bytes
               2 Dir(s)  408,977,362,944 bytes free

IDE から実行すると、CB.java は問題なく動作します。ただし、java CBコマンドラインで試すと、次のようになります。

Exception in thread "main" java.lang.NoClassDefFoundError: sn/visual/JRect
angle
Caused by: java.lang.ClassNotFoundException: sn.visual.JRectangle
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: CB.  Program will exit.

さらに、次の提案を使用して、クラスパスに何かを追加しようとしました。

>java -cp C:\Users\...blah blah blah...\Software_Engineering cs2
Exception in thread "main" java.lang.NoClassDefFoundError: cs2
Caused by: java.lang.ClassNotFoundException: cs2
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: cs2.  Program will exit.

IDE はスマートなのに、コマンド ラインがそうではないのはなぜですか?

ありがとうございました。

4

2 に答える 2

1

クラスパスは.class、指定されたディレクトリ内のファイルのみを考慮するように設定されています。jar ファイルをクラスパスに追加する必要があります。java -cp C:\somewhere\cs2.jar

于 2013-02-12T21:27:49.327 に答える
0

IDE はスマートなのに、コマンド ラインがそうではないのはなぜですか?

あなたのIDEでは、jarファイルをビルドパスに含めたので、ビルドと実行の両方に含まれていると思われます。(あなたはそれがどの IDE であるかを教えてくれなかったので、それが使用する正確な用語を使用するのは難しいです)

コマンドラインでは、ビルドと実行の両方でjarファイルを指定する必要があるため、次を使用します。

ビルドするには:

javac -cp cs2.jar CB

走る:

java -cp .;cs2.jar CB
于 2013-02-12T21:28:06.970 に答える