2017-02-23 18 views
0

私は中級のJavaプログラマですが、NetBeansなどのIDEを使用してプログラムを作成して実行した経験はありませんでした。私は最近、テキストエディタで自分のプログラムをWindowsのコマンドプロンプトから実行するようになった。Javaプログラムのpackageキーワードをコマンドプロンプトで実行する

コマンドプロンプトを使用してHelloWorldプログラムを作成することに成功しましたが、

もともと私のコードは:

package helloworld; 

public class HelloWorld{ 
    public static void main(String[] args){ 
     System.out.println("Hello, World!"); 
} 

私はディレクトリC .javaファイルとしてこれを保存:\プロジェクト\ MyProjectsでのHelloWorld \。

cd C:\projects\myprojects\helloworld 
set path=%path%;C:\Program Files\Java\jkd1.8.0_121\bin 
javac HelloWorld.java 
java -cp . helloworld.HelloWorld 

エラーが発生しました:

エラー:

は、それから私は、コマンドプロンプトで次のコマンドを入力したI一度、しかしメインクラスのHelloWorld

を見つけるか、ロードできませんでした。最初の行を省略してコードを再コンパイルしました

package.helloworld; 

pプログラムは期待どおりに走った。

なぜ、コマンドプロンプトは、最初の行が存在するときにクラスを見つけることができませんでした。私はディレクトリを単にC:\ projects \ myprojectsに変更しようとしましたが、失敗しました。

package helloworld; 

行を含むプログラムを正常に作成するにはどうすればよいですか?

+2

パッケージは、完全修飾名のクラスの一部です。コンパイル後、 'cd ..'と' java -cp。 helloworld.HelloWorld' –

答えて

1

Elliott answeredコメントとして、パッケージは完全修飾名クラスの一部です。あなたは、パッケージ含む現在のクラス名をプリントアウトする

System.out.println(this.getClass().getCanonicalName()); 

を使用してテストすることができます。

は、あなたの質問に答えるために、しかし、あなたはいずれかを実行する必要があります。その後、
の1- cd ..java -cp . helloworld.HelloWorld
または
2 - java helloworld\HelloWorld

java -cp具体的な例としてthisを参照したい場合があります。

+0

cd ..コマンドがありませんでした。それが何だったのかは完全にはわかりませんが、エラーの根本的な原因と思われます。 Thx –

+0

それは[あなたを1つのディレクトリに移動します](http://www.wikihow.com/Change-Directories-in-Command-Prompt)です。 –

0

コマンドプロンプトからパッケージの一部であるクラスを実行するには、現在のディレクトリをプロジェクトのベースディレクトリにする必要があります。

次に、そのプロジェクト内のすべてのクラス、つまり完全修飾クラス名(FQCN)を使用して参照できます。

例えば、
私はクラスを持っている場合:

場所 - C:\にmyProj \ orgの\にmyproj \ ExampleClass.java
FQCN - org.myproj.ExampleClass。私は、次のことをやっているだろう

cd C:\myproj 
javac org\myproj\ExampleClass.java 
java -cp . org.myproj.ExampleClass 

これは、JavaのbinフォルダがすでにPATH環境変数に追加されたことを想定しています。

関連する問題