既存の Ant スクリプトを使用するプロジェクト (自由形式プロジェクト) のプロファイル用の設定
目次
- 基本事項
- 基本的な「profile」および「profile-single」ターゲット (JDK 5.0 以降) の例
- 自由形式 Web プロジェクト
- 詳細
- リファレンス
1. 基本事項
自由形式プロジェクトが存在する場合、プロジェクトをプロファイルするために独自の Ant ターゲットを作成する必要があります。自由形式プロジェクトの構築スクリプトでは、次の 2 つのターゲットを作成します。
- プロジェクトのプロファイル用ターゲット
- 個々のファイルのプロファイル用ターゲット
自由形式プロジェクトが主プロジェクトとして設定されている場合、「主プロジェクトをプロファイル」または「ファイルをプロファイル」をはじめて起動すると、既存の Ant ターゲットのどれを使用するのかを指定するように求められます。
一般的にターゲットは、一部のパラメータを追加すれば、既存の「run」ターゲットに類似したものになります。Ant ターゲットを作成する 1 つの方法は、「run」ターゲットをコピーし、そのコピーの「profile」の名前を変更して、次の手順に従ってその内容を変更することです。
この「run」ターゲットをコピーして新しい「profile」ターゲットを作る場合、「profile」ターゲットに次の 2 つの変更を加える必要があります。
- nbprofiledirect タスクの呼び出しを先頭に追加します。
- アプリケーションを実行するために VM を起動するタスクに、JVM の引数を追加します。通常は、次のようなサブ要素を java タスクに追加することによって、この操作を行います。
<jvmarg value="${profiler.info.jvmargs.agent}"/>
2. 基本的な「profile」および「profile-single」ターゲット (JDK 5.0 以降) の例
<target name="profile" depends="jar" description="Profile Project">
<fail unless="netbeans.home">このターゲットは NetBeans IDE の内部でのみ実行できます。</fail>
<nbprofiledirect>
<classpath> <pathelement location="... 指定します ..."/> </classpath>
</nbprofiledirect>
<java ... run ターゲットと同じ属性を使用します ...>
<jvmarg value="${profiler.info.jvmargs.agent}"/>
</java>
</target>
エクスプローラで選択したクラスを使用する Profiler を起動するには、次のように同じターゲットを追加して、classname="${profile.class}" を使用できます。
<target name="profile" depends="jar" description="Profile File">
<fail unless="netbeans.home">このターゲットは NetBeans IDE の内部でのみ実行できます。</fail>
<nbprofiledirect>
<classpath> <pathelement location="... 指定します ..."/> </classpath>
</nbprofiledirect>
<java classname="${profile.class}" ... run ターゲットと同様の属性を使用します ...>
<jvmarg value="${profiler.info.jvmargs.agent}"/>
</java>
</target>
3. 自由形式エンタープライズアプリケーションプロジェクト
自由形式エンタープライズアプリケーションプロジェクトが存在する場合、通常は java コマンドを直接使うのではなく、起動スクリプトを使ってサーバーが起動されます。したがって、上記のように <jvmarg .../> 要素を使用してサーバーに追加の引数を渡すことはできません。そうではなく、プロファイル用の構成を行うためにサーバー起動スクリプトを変更する必要があります。
プロファイル用に、サーバーを起動するスクリプトを新しく作成し、「profile」ターゲット内で使用することを推奨します。Profiler の「接続ウィザード」によって、変更された起動スクリプトを作成できます。サーバーで自動統合がサポートされていない場合は、ウィザードに表示される手動統合手順に従ってスクリプトを手動で作成できます。どちらの場合であっても、ローカルのサーバーに対する直接接続として設定する必要があります。
自由形式エンタープライズアプリケーションプロジェクトをプロファイルする残りの手順はすべて、標準 J2SE プロジェクトの手順と同じです。
4. 詳細
次に示すパラメータの一部の使用は任意ですが、それらによって、IDE から Profiler の設定をより厳密に制御できるようになります。
jvm="${profiler.info.jvm}" 属性を追加すると、IDE の「オプション」ウィンドウ (「ツール」>「オプション」>「Profiler」) で選択した JDK を使用して、プロファイルが開始されます。
dir="${profiler.info.dir}" 属性を追加すると、NetBeans Profiler のダイアログで指定した作業用ディレクトリで、プロファイル対象のアプリケーションを起動できます。
<jvmarg line="${profiler.session.jvm.args}"/> を追加すると、カスタム JVM 引数および NetBeans Profiler 設定の作業用ディレクトリを指定できます。これは、引数を追加した VM をチューニングし、NetBeans Profiler で相違を観察する場合に、特に便利です。
作業用ディレクトリ、Profiler UI からの JVM および JVM 引数を制御するプロファイルターゲットの例を、次に示します。
<target name="profile" depends="jar" description="Profile Project">
<fail unless="netbeans.home">このターゲットは NetBeans IDE の内部でのみ実行できます。</fail>
<nbprofiledirect>
<classpath> <pathelement location="... 指定します ..."/> </classpath>
</nbprofiledirect>
<java fork="true" classname="... 指定します ..." dir="${profiler.session.working.dir}" jvm="${profiler.info.jvm}">
<jvmarg value="${profiler.info.jvmargs.agent}"/>
<jvmarg line="${profiler.info.jvmargs}"/>
<classpath> <pathelement location="... 指定します ..."/> </classpath>
</java>
</target>
5. リファレンス
次のプロパティーは、「プロジェクトをプロファイル」または「ファイルをプロファイル」のメニュー項目からプロファイルを起動した場合に設定されます。
- profile.class - 「ファイルをプロファイル」が起動された場合、プロファイルするクラスの名前が含まれます (Java 形式)
- profiler.info.single.file - 「ファイルをプロファイル」が使用された場合、プロファイルするファイルの名前が含まれます
- profiler.info.jvm - プロファイルで選択した JVM の Java 実行可能ファイルへのパス
- profiler.info.jvmargs - IDE で選択した JVM 引数 (プロジェクトカスタマイザで選択またはカスタムプロファイル構成でオーバーライド)
- profiler.info.jvmargs.agent - VM で Profiler Agent を起動するために使用する JVM 引数
- profiler.info.agentpath - Profiler Agent へのパス
- profiler.info.project.dir - プロファイルするプロジェクトのプロジェクトディレクトリ
- profiler.info.dir - Profiler アプリケーションの作業用ディレクトリ