私はJavaとパッケージが初めてで、それらをナビゲートするのに助けが必要です. 現在、すべての .java および .class ファイルがmyapp/WEB-INF/classes
Linux サーバーのディレクトリにある Web アプリケーション用の機能する Java プログラムがあります。
myapp/WEB-INF/classes/MyJavaClass1.class
myapp/WEB-INF/classes/MyJavaClass2.class
myapp/WEB-INF/classes/MyJavaClass3.class
これらのファイルにはコード行が含まれていpackage
ないため、システムのデフォルト パッケージが使用されていると想定します。
次に、mytools
ディレクトリを追加し、そこに新しいクラスを作成しました。
myapp/WEB-INF/classes/mytools/MyToolClass1.class
myapp/WEB-INF/classes
しかし、これらのJavaファイルにパッケージ名が含まれていない限り、この新しいクラスはディレクトリ内のクラスにアクセスできないようです。私の質問は、ファイルをシステムのデフォルト パッケージ (たとえば、パッケージが指定されていない) から名前付きパッケージに変更する方法です。
package mypackage;
MyJavaClass1.java、MyJavaClass2.java、および MyJavaClass3.java の最初の行に追加し、MyToolClass1.java に追加する必要がありますpackage mypackage.mytools;
か?
または、上記を実行する前に、mypackage
そのようなディレクトリを作成しmyapp/WEB-INF/classes/mypackage
、そこに MyJavaClass1.class などのファイルを配置する必要がありますか?
次に、.java ファイルをコンパイルするとき、それぞれのディレクトリ内でコンパイルしますか (または、すべてのファイルを最上位ディレクトリからコンパイルする必要がありますか)。
更新 1
のJavaファイルのデフォルトパッケージ(つまり、パッケージなし)をそのままにしてmyapp/WEB-INF/classes
、追加する場合:
package mytools;
import MyJavaClass1;
MyToolClass1.java に追加し、ディレクトリから MyToolClass1.java をコンパイルしようとするとmytools
、次のコンパイル エラーが発生します。
MyToolClass1.java:21: '.' expected
import MyJavaClass1;
^
MyToolClass1.java:21: ';' expected
import MyJavaClass1;
^
2 errors