私はクラスパスなどをいじっていました。そして、私が完全に得られない何かがあります...
次のように、dir構造に2つのファイルがあると仮定します。
[current dir]
|
org
|
amigo
|
|---A.class
|---B.java
クラスA:
package org.amigo;
public class A {}
クラスB:
package org.amigo;
public class B extends A {}
これまでのところ良い...今、current dir
私たちが呼び出す
javac org\amigo\B.java
これにより、クラスが正常にコンパイルされます。次にやってみましょう
javac -cp . org\amigo\B.java
これも機能します。しかし...私たちが走ろうとすると
javac -cp .:org org\amigo\B.java
次のようになります。
cannot find symbol
symbol: class A
public class B extends A {
^
1 error
Soooooo ....私の質問は-どうしてこれが機能しないのですか?
(もちろん、置き換え-cp .:org
て-cp .:[any dir]
も同じ結果を得ることができます。)
私が理解しているように(私は?... -_-)-classpath
、必要なクラスを検索するディレクトリを指定しましょう。したがって、A.classがこれらのディレクトリの1つに存在する場合、それはとにかく機能しませんか?つまり、-cp .
オプションだけが機能しました!