私はこれまでこれをやろうとしたことがなく、少し困惑しています。同じパッケージ内の 2 つのクラス:
package test;
public class One {
public static String test () { return "hello world"; }
}
と:
package test;
public class Two {
public static void main (String[] args) {
System.out.println(One.test());
}
}
javac Two.java
test/ ディレクトリ内で試してみると、One の「シンボルが見つかりません」というメッセージが表示されます。ただし、親ディレクトリからjavac test/Two
実行すると、コンパイルされて実行できるようになりますがjava test/Two
、内部からではありません ( クラスの適切な名前が ではないことを示すNoClassDefFoundErrorがスローされます)。test/Two
Test
大したことではありませんが、それを回避するより良い方法があるかどうか、そして誰かが私が問題を理解するのを手伝ってくれるかどうか興味があります. 実際には、「Two」をテスト パッケージの正式なメンバーにする必要はありません。同じディレクトリに置いて、そこでコンパイルできるようにする必要があるだけです。