[解決済み] Java: パッケージが存在しない
2022-02-28 05:38:20
質問
私はディレクトリにいます。E:\stuffJava>
パッケージAを作成しました。
package pack;
public class A
{
public void methodA(){
System.out.println("MethodA");
}
}
コンパイルするために、次のような記述をしました。
javac -d . A.java
そのため、packという名前のフォルダが作成され、その中にA.classが含まれています。 そして、このパッケージを別のプログラムでインポートしようとしました。
import pack.A;
class B
{
public static void main(String[] args){
A a = new A();
a.methodA();
}
}
このコードをコンパイルしようとすると
javac B.java
以下のようなエラーが発生します。
B.java:1: error: package pack does not exist
import pack.A;
^
B.java:6: error: cannot find symbol
A a = new A();
^
symbol: class A
location: class B
B.java:6: error: cannot find symbol
A a = new A();
^
symbol: class A
location: class B
3 errors
なぜコードの実行に失敗するのか理解できません。私のB.javaファイルとpackは同じフォルダーにあります。
どなたか、このコードのエラーについて説明していただけませんか?
解決方法を教えてください。
エラー内容からすると、他のプログラムのようです。
B.java
は、'A.java' と同じディレクトリ(E: \stuffJava) にありません。これはつまり、コンパイル時に
B.java
がどこにあるのか、コンパイラは知りません。
pack.A
. A を可視化するには、以下のように
pack.A
でコンパイルすることになります。
javac -cp ".;<path_to_add>" B.java
あなたの場合
<path_to_add>
は
E:\stuff\Java
. これにより、クラスパスがカレントディレクトリだけでなく (
.
) だけでなく
pack
パッケージがあります。
プログラムを実行するには、再び
pack.A
をクラスパスに追加してください。
java -cp ".;<path_to_add>" B
またどこ
<path_to_add>
は
E:\stuff\Java
.
ここでは、Windowsを使用していると仮定しています。Unixでは
-cp
オプションの構文が若干異なります。
-cp ".:<path_to_add>"
ここで
;
に置き換わっています。
:
.
関連
-
[解決済み] XX:MaxDirectMemorySizeの既定値
-
[解決済み] アクティビティに割り当てられない
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 未処理の例外タイプIOException」が表示されるのですが?
-
[解決済み] ボタンでTextFieldをクリアする(Java)
-
[解決済み] XX:MaxDirectMemorySizeの既定値
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] JOGLまたはLWJGLの既成のプロジェクト
-
[解決済み] raw 型のメンバへのアンチェックの呼び出し
-
[解決済み] JavaにおけるMouseListenerとMouseAdapterの違いについて
-
[解決済み] javaでAnnotation Inheritanceのようなものはあるのでしょうか?
-
[解決済み] 午前0時からの時間を秒単位で取得する方法
-
[解決済み] アニメーションGIFの表示