!!!標準JDKに含まれる便利なツール {{category Java,nolink}}標準JDKに含まれる開発やデバッグなどに便利なコマンドツールなど。 確認済:'''jdk1.3.1_20''' / '''jdk1.4.2_17''' / '''jdk1.5.0_15''' / '''jdk1.6.0_05''' / '''jdk1.6.0_10''' !!基本的なツール(実行関係) !java (javaw) - JavaVM ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' java <オプション> <クラス名> !javaws - Java Web Start ツール ※確認:==jdk1.3.1== / ==jdk1.4.2== / '''jdk1.5.0''' / '''jdk1.6.0''' Java Web Start の起動やオプション設定に使用するツール。 *Java Web Start **http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/javaws/developersguide/contents.html !appletviewer - Javaアプレットビュワー ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' Web ブラウザを使わずにアプレットを実行したりデバッグしたりする !jrunscript - スクリプト実行環境 (JDK6試験的) ※確認:==jdk1.3.1== / ==jdk1.4.2== / ==jdk1.5.0== / '''jdk1.6.0''' jrunscript は、JavaScript のプログラムを直接実行したり、インタラクティブモードで逐一プログラムを実行できる環境です。 !!基本的なツール(開発関係) !javac - Java コンパイラ ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' javac <オプション> <ソースファイル名> !javadoc - API ドキュメントジェネレータ ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' *Javadoc ツール **http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/javadoc/index.html !apt - 注釈処理ツール ※確認:==jdk1.3.1== / ==jdk1.4.2== / '''jdk1.5.0''' / '''jdk1.6.0''' *注釈処理ツール **http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/apt/index.html !jar - Jarファイルを作成する ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' *Java Archive ファイル **http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/jar/index.html !jdb - Java デバッガ ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !javah - Cヘッダーとスタブのジェネレータ ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !javap - クラスファイルのディスアセンブラ ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' javap <オプション> <クラス名> !extcheck - Jarの競合を検出するユーティリティ ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' extcheck は、現在使われている拡張機能群のJarファイルと、調べたいJarファイルとの競合を調査できます。 !!セキュリティーツール !keytool - キーストアと証明書の管理ツール ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' 暗号化などに使われる鍵や証明書の作成やそれを持つキーストアファイルを操作するツール。使い方は [[Java/keytool]] を参照。 !jarsigner - JAR 署名を生成および検証 ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' jarsigner -keystore <キーストアのパス> <署名するJAR> <エイリアス> !policytool - ポリシーファイルのGUI管理ツール ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !!セキュリティーツール (Windows用 Kerberos関係) !kinit - Kerberos v5 チケットを取得 ※確認:==jdk1.3.1== / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !klist - 資格キャッシュ・エントリの一覧表示 ※確認:==jdk1.3.1== / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !ktab - 鍵テーブルのエントリ管理 ※確認:==jdk1.3.1== / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !!Remote Method Invocation (RMI) ツール !rmic - リモートオブジェクトのスタブとスケルトンを生成 ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !rmiregistry - リモートオブジェクトのレジストリサービス ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !rmid - RMI 起動システムデーモン ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !serialver - クラスの serialVersionUID を表示 ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' 指定したクラスのシリアルバージョンを表示する。"-show"を指定するとGUIが表示される。完全クラス名(複数可)を指定するとコンソールに表示される。 serialver [-classpath classpath] [-show] [classname...] !!Java IDL および RMI-IIOP ツール !tnameserv - ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !idlj - ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !orbd - ※確認:==jdk1.3.1== / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !servertool - ※確認:==jdk1.3.1== / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !!Java Web Services ツール !schemagen - スキーマジェネレータ ※確認:==jdk1.3.1== / ==jdk1.4.2== / ==jdk1.5.0== / '''jdk1.6.0''' Java Architecture for XML Binding 用のスキーマジェネレータ。 !wsgen - ※確認:==jdk1.3.1== / ==jdk1.4.2== / ==jdk1.5.0== / '''jdk1.6.0''' JAX-WS ポータブルアーティファクトを生成するためのツール。 !wsimport - ※確認:==jdk1.3.1== / ==jdk1.4.2== / ==jdk1.5.0== / '''jdk1.6.0''' JAX-WS ポータブルアーティファクトを生成するためのツール。 !xjc - バインディングコンパイラ ※確認:==jdk1.3.1== / ==jdk1.4.2== / ==jdk1.5.0== / '''jdk1.6.0''' Java Ardchitecture for XML Binding 用のバインディングコンパイラ。 !!補助ツール !native2ascii - リソースファイルのエスケープ ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' リソースファイル(「.properties」ファイル)は、2バイト文字は利用できない。なのでUnicodeエスケープを行なう必要がある。その変換および逆変換を行うツール。 native2ascii [<オプション>] <変換前のファイル名> <変換後のファイル名> 変換前の文字コードは、システムデフォルトの文字コードとして扱われる。異なる場合は、「-encoding 文字コード」オプションで指定が必要になる。 エスケープ済みのファイルを元に戻す逆変換を行う場合は、「-reverse」オプションを指定する。 native2asciiコマンドは、JavaVMで動くので、「-J オプション」で仮想マシンにオプションを渡すことが出来る。 !pack200 - Jarパックツール ※確認:==jdk1.3.1== / ==jdk1.4.2== / '''jdk1.5.0''' / '''jdk1.6.0''' pack200 は、圧縮率の高いJarファイルを作ることのできるツールです。 !unpack200 - Jarアンパックツール ※確認:==jdk1.3.1== / ==jdk1.4.2== / '''jdk1.5.0''' / '''jdk1.6.0''' unpack200 は、高圧縮のJarファイルを展開するためのツールです。 !htmlconverter - ※確認:'''jdk1.3.1''' / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' アプレットを含んだ HTML ページ (ファイル) を Java Plug-in 用の OBJECT/EMBED タグ形式に変換します。 !!監視ツール !jconsole - JavaVMの監視用コンソール ※確認:==jdk1.3.1== / ==jdk1.4.2== / '''jdk1.5.0''' / '''jdk1.6.0''' Jconsole は、システム情報やメモリ使用量などを確認できる JavaVMの監視用ツールです。ローカルとリモートの両方に対応している。 !jps - 仮想マシンプロセスステータスツール (JDK6試験的) ※確認:==jdk1.3.1== / ==jdk1.4.2== / '''jdk1.5.0''' / '''jdk1.6.0''' jps は、JavaVM のプロセスIDをリストアップするツールです。 !jstat - 仮想マシンプロセスステータスツール (JDK6試験的) ※確認:==jdk1.3.1== / ==jdk1.4.2== / '''jdk1.5.0''' / '''jdk1.6.0''' jstat は、JavaVM のGCなどの計測値を表示するためのツールです。 !jstatd - 仮想マシンjstatデーモン (JDK6試験的) ※確認:==jdk1.3.1== / ==jdk1.4.2== / '''jdk1.5.0''' / '''jdk1.6.0''' jstatd は、jstat のリモート監視用のデーモンです。 !!トラブルシューティングツール !jinfo - 構成情報を取得 (JDK6試験的) ※確認:==jdk1.3.1== / ==jdk1.4.2== / ==jdk1.5.0== / '''jdk1.6.0''' jinfo は、jps によって取得されたプロセスIDの構成情報を知るためのツールです。 !jhat - Javaヒープ解析ツール (JDK6試験的) ※確認:==jdk1.3.1== / ==jdk1.4.2== / ==jdk1.5.0== / '''jdk1.6.0''' jhat は、ヒープダンプファイルを指定して、ヒープを解析するためのツールです。 !jmap - メモリマップ (JDK6試験的) ※確認:==jdk1.3.1== / ==jdk1.4.2== / ==jdk1.5.0== / '''jdk1.6.0''' jmap は、指定した JavaVM のプロセスマップやヒープ情報、クラスローダの情報を取得するツールです。 !jsadebugd - サービスアビリティエージェントデバッグデーモン (JDK6試験的) ※確認:''Windows版JDKには付属しない'' jsadebugd は、jps で取得されたプロセスIDを基に、デバッグサーバとして機能するツールです。 !jstack - スタックトレース取得 (JDK6試験的) ※確認:==jdk1.3.1== / ==jdk1.4.2== / ==jdk1.5.0== / '''jdk1.6.0''' jstack は、JavaVM のスタック情報を取得するツールです。 !jvisualvm - 統合プロファイラ (JDK6試験的?) ※確認:==jdk1.3.1== / ==jdk1.4.2== / ==jdk1.5.0== / ''jdk1.6.0 (u07以降)'' [VisualVM|https://visualvm.dev.java.net/] は、プラグインで機能拡張可能なプロファイラです。 VisualVM 1.1.1 から Multi-language 版が用意され日本語表示されるようになった。ただし、JDK付属の物は英語のみ(JDK1.6.0_15現在)。 !!不明 !java-rmi.exe ※確認:==jdk1.3.1== / ==jdk1.4.2== / ==jdk1.5.0== / '''jdk1.6.0''' !packager.exe ※確認:==jdk1.3.1== / '''jdk1.4.2''' / '''jdk1.5.0''' / '''jdk1.6.0''' !oldjava.exe / oldjavac.exe / oldjavaw.exe / oldjdb.exe ※確認:'''jdk1.3.1''' / ==jdk1.4.2== / ==jdk1.5.0== / ==jdk1.6.0== !!!参考ページ *JDK ツールとユーティリティー **http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/index.html *@IT:Javaプログラミング・ワンポイントレクチャー:javaコマンドを使いこなす **http://www.atmarkit.co.jp/fjava/onepoint/java/jv_jcmd.html *@IT:Javaプログラミング・ワンポイントレクチャー:javacコマンドを使いこなす **http://www.atmarkit.co.jp/fjava/onepoint/java/jv_jvc.html *@IT:Java TIPS - javapコマンドでクラスファイルを読む **http://www.atmarkit.co.jp/fjava/javatips/065java004.html *@IT:あなたの知らないJDKの便利ツールたち **http://www.atmarkit.co.jp/fjava/column/andoh/andoh43.html