5

Maven プラグインをセットアップする必要があります。JARをダウンロードしました。プラグインを Maven と統合またはセットアップするために次に何をすればよいか教えてください。JAR を親ディレクトリにコピーする必要がありますか、それともファイルを編集する必要がありますか?

プラグインは次のとおりです。

  • Java2HTML
  • JDepend
  • チェックスタイル
  • クローバー
  • コベルチュラ
  • エマ
  • バグを見つける
  • JavaNCSS
  • PMD
  • QAラボ
  • エクスレーダー
  • ソナー
4

3 に答える 3

13

Maven が中央リポジトリにアクセスできる場合、ほとんどのプラグインがダウンロードされます (一部は中央でホストされていないため、それらにアクセスするには、pom または設定で追加のリポジトリを定義する必要があります)。依存関係が POM で構成されている場合、関連するゴールを実行すると、Maven はそれらを自動的にダウンロードしようとします。リストした依存関係の場合、これはmvn siteです。

リストした jar の大部分はレポートであるため、たとえば、POM のレポートセクションで宣言する必要があります (期待されるプラグインを取得していることを確認するために、バージョンも宣言します)。

<reporting>
  <plugins>
    <plugin>
      <artifactId>maven-checkstyle-plugin</artifactId>
    </plugin>
    <plugin>
      <artifactId>maven-pmd-plugin</artifactId>
      <configuration>
        <linkXref>true</linkXref>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>cobertura-maven-plugin</artifactId>
      <version>2.1</version>
      <configuration>
        <formats>
          <format>html</format>
          <format>xml</format>
        </formats>
        <outputDirectory>target/site/cobertura</outputDirectory>
      </configuration>
    </plugin>
    <plugin>
      <artifactId>maven-surefire-report-plugin</artifactId>
      <configuration>
        <outputDirectory>${basedir}/target/surefire-reports</outputDirectory>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>jdepend-maven-plugin</artifactId>
    </plugin>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>findbugs-maven-plugin</artifactId>
      <configuration>
        <xmlOutput>true</xmlOutput>
        <effort>Max</effort>
      </configuration>
    </plugin>
  </plugins>
</reporting>

Maven のプラグイン実行モデルの背景: mvn siteを実行すると、これは「サイト プラグインの最新バージョンからサイト ゴールを実行する」の省略形です。つまり、これはmvn site:siteと同等です。 mvn org.apache.maven.plugins:maven-site-plugin:LATEST:site

Maven は中央リポジトリへの接続を試行し、maven-metadata.xml から最新バージョンを特定してから、実行する前にそれ (および欠落している依存関係) をダウンロードします。

プロキシの背後にいる場合、ビルド ログに次のようなエラー メッセージが表示されることがあります。

[INFO] The plugin 'org.apache.maven.plugins:maven-site-plugin' does not exist or no valid version could be found

これに対処するには、Maven の settings.xml ([MVN_HOME]/conf/settings.xml 内) でプロキシ設定を宣言します。これらはデフォルトでコメントアウトされていますが、次のようになります。

<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <username>proxyuser</username>
  <password>proxypass</password>
  <host>proxy.host.net</host>
  <port>80</port>
  <nonProxyHosts>local.net,some.host.com</nonProxyHosts>
</proxy>

ユーザー名、パスワード、ホスト、およびポートの値を環境に関連する値に置き換えると、Maven は必要な依存関係をダウンロードできるようになります。

Maven の使用の詳細については、 Sonatype によるMaven: The Definitive Guideをチェックしてください。これはオンラインで無料です。

于 2009-07-20T08:52:33.073 に答える
1

シラコフは正しい。Mavenは、プラグインが使用されると、プラグインを自動的にダウンロードしてインストールします。

それらを直接実行するか(1回限りのジョブの場合)、pom.xmlで構成することができます。これにより、を構成し、自動的に実行するように設定することもできます。たとえば、ソースコードを生成したり、テストカバレッジについてレポートしたりできます。 。これの主な利点は、共有の親pomでプラグイン構成の単一のセットを定義し、必要に応じて各サブプロジェクトで継承された構成をオーバーライドできる一方で、すべてのプロジェクトで同じ構成を再利用できることです。大規模なプロジェクトでMavenを使用する最大の利点の1つ。

各プラグインには独自の構成パラメーターがあり、標準のパラメーターはhttp://maven.apache.org/plugins/に文書化されています。もう1つの優れたリソースは、 http://www.sonatype.com/books/maven-book/reference/でオンラインになっているO'ReillyMavenの本です。

coberturaの構成例:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pmd-plugin</artifactId>
    <version>2.3</version>
    <configuration>
        <outputDirectory>${project.build.directory}/pmd</outputDirectory>
        <targetDirectory>${project.build.directory}</targetDirectory>
        <aggregate>true</aggregate>
        <!--  CPD minimum tokens to report on (5 to 10 duplicate lines)    --> 
        <minimumTokens>100</minimumTokens> 
        <minimumPriority>3</minimumPriority>
        <!--  Exclude mock classes     --> 
        <excludes>
        <exclude>**/Mock.*</exclude> 
        <exclude>**/Dummy.*</exclude> 
        <exclude>**/*Mock.java</exclude> 
        <exclude>**/*Dummy.java</exclude> 
        </excludes>
        <includeTests>true</includeTests> 
        <targetJdk>1.5</targetJdk>
        <rulesets>
            <ruleset>pmd_ruleset.xml</ruleset>  
        </rulesets>
    </configuration>
</plugin>
于 2009-07-20T08:34:45.263 に答える
0

プラグインを手動でダウンロードする必要はありません。100% 確実ではありませんが、たとえば checkstyle プラグインを使用する場合は、コマンド ラインから checkstyle パラメーターを使用して Maven を起動する必要があります。

何かのようなもの:

mvn checkstyle:checkstyle

また

mvn checkstyle:check

edit1: ただし、jar を特定のフォルダー構造でローカルの m2 リポジトリーに配置して、それらにアクセスすることもできます。

edit2: すべてのプラグインを独自のリポジトリに配置してから、使用するリポジトリを (pom を使用して) Maven に伝える必要があります。すべてのプラグインは、pom に記述する必要があります。

于 2009-07-20T08:12:40.707 に答える