2つのJavaファイルを作成しました:Pizza.Java
およびPizzaOrder.Java
。
次のようなコマンドプロンプトでjavacを使用してコードをコンパイルしてみました。
javac pizzaorder.Java
アクセスが拒否されましたエラーが発生しています:
C:\Users\Meutex>cd\
C:\>cd "Program Files\Java\jdk1.7.0\bin"
C:\Program Files\Java\jdk1.7.0\bin>javac PizzaOrder.Java
PizzaOrder.Java:23: error: cannot find symbol
Pizza order = new Pizza ();
^
symbol: class Pizza
location: class PizzaOrder
PizzaOrder.Java:23: error: cannot find symbol
Pizza order = new Pizza ();
^
symbol: class Pizza
location: class PizzaOrder
2 errors
C:\Program Files\Java\jdk1.7.0\bin>javac Pizza.Java
Pizza.Java:11: error: error while writing Pizza: Pizza.class (Access is denied)
public class Pizza {
^
1 error
C:\Program Files\Java\jdk1.7.0\bin>javac Pizza.Java
このエラーの原因は何ですか?
システムにソースファイルを配置しようとしているようですC:\Program Fiels\Java\jdk1.7.0\bin
ディレクトリ。システムパスに配置するのではなく、ソースファイル用の独自のディレクトリ(自分のホームディレクトリの下)を作成してみてください。おそらくそのディレクトリへの書き込み権限がありません(ただし、ソースファイルをそこにどのように取得したかはわかりません)。
Access Deniedエラーは、\Program Files
内のjdkディレクトリ内でこのプログラムをコンパイルしようとしていることが原因である可能性が高く、これはユーザーが普遍的に書き込むことはできません。コーディングは別の場所で行う必要があります(おそらくMy Documents
ディレクトリ、または少なくとも書き込み権限のある場所)。
ディレクトリに書き込む権限がありません。ソースコードをJDKのbinディレクトリに配置しないでください。
代わりに、そのbinディレクトリをPATH
に追加し、ユーザーのホームフォルダーに作業ディレクトリを作成します。
Windows 7でパスを設定する方法 を参照してください。
これはJavaと関係がないことはわかっていますが、試してみてください。
Windowsエクスプローラーで遊んでいるときに気付きました。
これはそれでなければなりません。これで、他のことをする代わりに、ビン内のJavaプログラムをコンパイルおよび実行できます。