2017-06-27 5 views
1

私はかなりJavaを使い慣れていないので、基本を理解しようとしています。そのうちの1人がpackageを扱い、package HelpPack;を使用して別のクラスに1つのクラスを実装しようとしていて、javac -d HelpPackage A.javaを使用すると、エラーjavac: file not found: A.javaがスローされます。パッケージを使ってクラスをコンパイルするとエラーが発生する

//B.java 
package HelpPack; 

public class B{ 

    public String name(){ 

     return "Class b"; 

    } 

} 

//A.java 
package HelpPack; 

public class A{ 

    public static void main(String[] args){ 

     B b = new B(); 

     System.out.println(b.name()); 

    } 

} 
+0

"package HelpPack"という行を削除してみますか?それは私のために働き、A.javaだけでなく、.javaをコンパイルする必要があります – azro

+0

パッケージは通常小文字です – HuStmpHrrr

答えて

1

javac -d . *.java 

すべてのクラスをコンパイルして使用して実行し、

java HelpPack.A 

は、ツールのドキュメントからjavacツール

を見てください:デフォルトでは、コンパイラを各クラスファイルをと同じディレクトリに配置します。 10そのソースファイル。別の宛先ディレクトリを -d(以下のオプションを参照)で指定することができます。

およびpackageチュートリアルです。

1

-dは、クラスファイルがどこに行くのかを指定します。あなたのjavaファイルもそのディレクトリにある必要があります。コマンドは javac HelpPack/* java

1

実際のディレクトリと一致する必要があります。

あなたのクラスA.javaは、ディレクトリHelpPackにあるはずです。 documentationによると

-d directory 

クラスファイルの出力先ディレクトリを設定します。ディレクトリは既に存在していなければなりません。 javacはそれを作成しません。クラスがパッケージの一部である場合、javacはクラスファイルを パッケージ名を反映するサブディレクトリに置き、必要に応じてディレクトリを作成します。たとえば、 に-d C:¥myclassesを指定し、そのクラスの名前がcom.mypackage.MyClass、 の場合、クラスファイルは C:¥myclasses¥com¥mypackage¥MyClass.classとなります。 -dが指定されていない場合、javacは各クラスファイルを、生成元のソースファイルと同じディレクトリに置きます。

注:-dで指定されたディレクトリは、自動的にユーザークラスパスに追加されません。

+0

スニペットエディタをHTML/CSS/JavaScriptからJavaに変更する方法はありますか? –

+0

どのエディターを使用しますか? –

+0

スタック内のHTML/CSS/JavaScriptエディタ –

関連する問題