cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

ホーム

既存の Ant スクリプトを使用するプロジェクト (自由形式プロジェクト) のプロファイル用の設定

目次

  1. 基本事項
  2. 基本的な「profile」および「profile-single」ターゲット (JDK 5.0 以降) の例
  3. 自由形式 Web プロジェクト
  4. 詳細
  5. リファレンス

1. 基本事項


自由形式プロジェクトでは、プロジェクトをプロファイルするために、独自の Ant ターゲットを作成する必要があります。

自由形式プロジェクトの構築スクリプトには、プロジェクトのプロファイル用と各ファイルのプロファイル用に、1 つずつ、2 つのターゲットを作成するようにします。主プロジェクトとして示された自由形式プロジェクトで、初めて「主プロジェクトをプロファイル」または「ファイルをプロファイル」アクションを使用すると、既存の Ant ターゲットの中から使用するターゲットを指定するよう求められます。

ターゲットは一般的に、既存の「run」ターゲットと追加パラメータが似ているため、「run」ターゲットを「profile」にコピーし、次の手順を使用して変更する方法もあります。

「run」ターゲットからコピーした場合は、「profile」ターゲット用に 2 箇所変更する必要があります。

  1. nbprofiledirect タスクの呼び出しを先頭に追加します。
  2. アプリケーションを実行するために 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">This target can only run inside the NetBeans IDE.</fail>

    <nbprofiledirect>
        <classpath> <pathelement location="... 指定します ..."/> </classpath>
    </nbprofiledirect>

    <java ... run ターゲットと同様の属性 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">This target can only run inside the NetBeans IDE.</fail>

    <nbprofiledirect>
        <classpath> <pathelement location="... 指定します ..."/> </classpath>
    </nbprofiledirect>

    <java classname="${profile.class}" ... run ターゲットと同様の属性 run ...>
        <jvmarg value="${profiler.info.jvmargs.agent}"/>
    </java>
  </target>
                    

3. 自由形式 Web プロジェクト


通常、サーバーは起動スクリプトを使って起動し、java コマンドを直接使用することはありません。そのため、「1. 基本事項」の 2 で示したように、<jvmarg .../> 要素を使用して追加の引数を渡すことはできません。そうではなく、プロファイル用の構成を行うためにサーバー起動スクリプトを変更する必要があります。

プロファイル用に、サーバーを起動するスクリプトを新しく作成し、「profile」ターゲット内で使用することを推奨します。Profiler の「接続 ウィザード」では、プロファイル用に変更済みの起動スクリプトを自動的に作成できます。使用中のサーバーで自動統合がサポートされていない場合は、ウィザードに表示される手動統合手順に従ってスクリプトを手動で作成してください。どちらの場合であっても、ローカルのサーバーに対する直接接続として設定する必要があります。

自由形式 Web プロジェクトをプロファイルするほかの手順はすべて、標準 J2SE プロジェクトの手順と同じです。



4. 詳細


一部のパラメータの使用は任意ですが、それらによって、UI から Profiler の設定をより厳密に制御できるようになります。

  • jvm="${profiler.info.jvm}" 属性を追加すると、プロファイル用に UI (「ツール」>「オプション」>「Profiler」) で選択した JDK を使用して、プロファイルが開始されます。
  • dir="${profiler.info.dir}" 属性を追加すると、Profiler UI で指定した作業用ディレクトリで、プロファイル対象のアプリケーションを起動できます。
  • <jvmarg line="${profiler.session.jvm.args}"/> を追加すると、カスタム JVM 引数および Profiler 設定の作業用ディレクトリを指定できます。これは、引数を追加した VM をチューニングし、Profiler で相違を観察する場合に、特に便利です。

作業用ディレクトリ、Profiler UI からの JVM および JVM 引数を制御するプロファイルターゲットの例を、次に示します。

  <target name="profile" depends="jar" description="Profile Project">
    <fail unless="netbeans.home">This target can only run inside the 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 アプリケーションの作業用ディレクトリ

Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems