Kwmaven

kwmaven コマンドで、maven ビルドファイル内の情報に基づいて、Java build specification (ビルドスペック) を作成します。

前提条件

build specification (ビルドスペック) を作成するには、以下の条件を満たす必要があります。

  • サーバーパッケージをインストールします。Klocwork のインストール を参照してください。
  • Maven をインストールします。サポートされているバージョンを確認するには、サポートされている Java ビルドツール を参照してください。
  • Java Development Kit (JDK) の javac を使用する。
  • 次のように PATH 環境変数で設定した Maven および JVM の実行可能ファイルのパス。
    • Unix:
    PATH=<path_to_mvn>/bin:<path_to_JDK>/bin:<klocwork_install>/bin:$PATH
    
    • Windows:
    PATH=<path_to_mvn>\bin;<path_to_JDK>\bin;<klocwork_install>\bin;%PATH%
    

方法の詳細については、Java build specification (ビルドスペック) の作成を参照してください。

使用方法

kwmaven <maven_options>

ここで <maven_options> は maven ビルドに必要な引数です。

オプション

名前 (および短い名前) 説明
--global-settings (-gs) <file> <file> には、グローバル設定ファイルの代替パスを指定します。グローバル設定はデフォルトで、${M2_HOME}/conf/settings.xml と定義されています。
--help (-h) ヘルプを表示します。
--manual-integration 手動統合を有効にします
--output <file> build specification (ビルドスペック) を <file> に作成ます。デフォルトでは、build specification (ビルドスペック) は現在の作業ディレクトリの kwinject.out に書き込まれます。
--settings (-s) <file> <file> には、ユーザー設定ファイルの代替パスを指定します。kwmaven はデフォルトで、このファイルを ${user.home}/.m2/settings.xml と見なします。
--update (-u) 指定されると、既存の build specification (ビルドスペック) は、上書きするのではなく、新しい増分的ビルドの結果を使用して更新されます。
--version kwmaven のバージョンを表示します。

kwmaven を使ったファイルの除外

kwmaven を使ってファイルを除外または含めたい場合は、--manual-integration オプションを実行することができます。すべての Project Object Model (POM) には、maven-compiler-plugin のためのプラグインセクションがあり、このセクション内で、kwmaven プラグインへの依存関係が特定されなければなりません。例:
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.1</version>
  <configuration>
    <useIncrementalCompilation>false</useIncrementalCompilation>
    <excludes>
      <exclude>**/Ignore.java</exclude>
    </excludes>
  </configuration>
</plugin>
例:
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.1</version>
  <configuration>
    <useIncrementalCompilation>false</useIncrementalCompilation>
    <excludes>
      <exclude>**/Ignore.java</exclude>
    </excludes>
  </configuration>
  <dependencies>
    <dependency>
      <groupId>com.klocwork</groupId>
      <artifactId>kwmaven</artifactId>
      <version>10.4.0.1577</version>
    </dependency>
  </dependencies>
</plugin>

依存関係は native ビルドに干渉しません。

ファイルを除外して kwmaven 実行中にメモリエラーとなる場合、この問題を解決するには、2 つの回避策が考えられます。
  • ビルドターゲットとともに「クリーン」なターゲットを指定します。たとえば、「コンパイル」でビルドしている場合は、お使いのコマンドは次のようになります:
    kwmaven --manual-integration clean compile
  • バージョンチェックを無効にする kwmaven の --force-install オプションを使用します。例:
    kwmaven --manual-integration compile --force-install