Javaをコマンドラインから実行する
テキストエディタで次のコードをHelloWorld.javaファイルとして保存します。
// HelloWorld.java public class HelloWorld { public static void main( String[] args ) { System.out.println( "Hello world!" ); } }
『ファイル名を指定して実行』や『プログラムとファイルの検索』より『 cmd 』を入力してEnterを押すと、黒いコマンドプロンプトの画面が開きます。
コマンドプロンプトよりJavaが使用できるか確認します。
C:\>java
C:\>javac
'java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
のように出る場合は、環境変数PATHの指定が間違っています。
[参考記事] パスの設定 環境変数PATH
[参考記事] javaコマンドは実行できるが、javacコマンドが実行できないとき
これでHelloWorld.javaを保存したフォルダまでカレントディレクトリを移動します。
デスクトップであれば
C:\>cd C:\Users\【ユーザ名】\Desktop
わかりにくければ『cd 』を入力した後に、HelloWorld.javaファイルを黒いウインドウにドラック&ドロップするとHelloWorld.javaまでのパスが入力されるので、HelloWorld.java部分を消してEnterを実行します。
ここで
C:\>javac HelloWorld.java
を実行します。
実行すると、同じ階層にHelloWorld.classファイルが生成されます。
次に
C:\>java HelloWorld
を実行すると
Hello world!
と表示されます。
これでJavaがコマンドラインより実行することができました。
このとき拡張子は付きません。
またこのHelloWorldはHelloWorld.classを検索して、その中のHelloWorldクラスを実行するという意味です。
エラーが出る場合
[参考記事] Exception in thread "main" java.lang.NoClassDefFoundError
C:\>javac HelloWorld エラー:クラス名 'HelloWorld' が受け入れられるのは、注釈処理が明示的に要求された場合だけです エラー 1 個
この場合、拡張子が抜けています。
HelloWorldではなくHelloWorld.javaです。
C:\>java HelloWorld Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld Caused by: java.lang.ClassNotFoundException: HelloWorld at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Could not find the main class: HelloWorld. Program will exit.
この場合、classファイルがありません。
まずはjavac HelloWorld.javaを実行してビルドします。
C:\>java HelloWorld.java Exception in thread "main" java.lang.NoClassDefFoundError: C:\HelloWorld/java Caused by: java.lang.ClassNotFoundException: C:\HelloWorld.java at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) Could not find the main class: C:\HelloWorld.java. Program will exit.
この場合、ファイル名を指定しているのが間違いです。
HelloWorld.javaではなくHelloWorldです。
関連記事
- プログラムでもっとも正確に日本の祝日を求める方法(内閣府公表CSVの過去3度の改訂履歴)
- Twitter APIでのエラーの一覧
- cron実行時の標準出力のメールを飛ばさない方法(cron実行時に毎回メールを飛ばさない)
- cron実行時のPATHなどの環境変数を確認する方法
- cronのメール送信先を指定する方法(cronごとに送信先のメールアドレスを指定する方法)
- cron実行時に『/bin/sh: 〜〜: command not found』と出てcronが実行されない場合
- 『crontab -r』でcronの設定を間違って消してしまった場合の対処法
- cronを実行すると『TERM environment variable not set.』というエラーメールが飛ぶ
- 「ID」や「ID_xxxx」という文字列があるCSVファイルをExcelで開くとSYLKエラーが出る
- Excelの日付が数字になるときの対処法
- facebook APIを使用する時にfacebook Appsでアプリを登録するまでの流れ
- SELECTタグで色を選択する場合のサンプル
- 文字列の置き換えを行う方法 (replaceAllで気をつけること)
- 文字列の部分一致検索を行う方法
- Java メモリー使用量を取得する方法
- 実行中のメソッド名やクラス名を取得する方法
- Singletonパターンを使ってクラスのインスタンスを1つにする(共有クラスのリソースを削減する方法)
- deleteOnExit()メソッドは環境によって動作が違う JVM+Windows
- [暗号化]ブロック暗号とは(AES/DES/Blowfish PKCS5Padding ECB/CBC IV)
- ==とequalsメソッドの違い 値が同じかどうかを見るにはequalsメソッドを使う
- Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
- javaコマンドは実行できるが、javacコマンドが実行できないとき
- JD-Eclipse 自動で逆コンパイルをすることができるプラグイン
- Java標準以外のライブラリ(パッケージ)を読み込む方法 jarファイルを追加する
- switch文とif文の違い
- NetBeans6のインストール(JavaだけでなくRuby、PHP、C/C++に対応した統合開発環境)
- Java JDK6のインストール
- 変数のデータ型
- Eclipseで逆コンパイルを行う JadClipse
- scarab [バグ追跡システム]
- JTrac [バグ追跡システム]
スポンサーリンク