質問

私は、チェックスタイルのルールを保存したxmlファイルを含むjarファイルをMaven依存関係として持つプロジェクトを持っています。この構成を使用するだけで問題ないと思いました。<configLocation>mycheckstyle.xml</configLocation>。私の理解では、ファイルはクラスパスで検索する必要があり、jarファイルはMavenの依存関係であるため、見つかるはずですが、リソースが見つからない例外が発生します。助言がありますか?前もって感謝します..

クク

役に立ちましたか?

解決

あなたのプラグインの設定に依存関係セクションを追加してみてください。

例えば。、

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <dependencies>
      <dependency>
        <groupId>com.example.whizbang</groupId>
        <artifactId>build-tools</artifactId>
        <version>1.0</version>
      </dependency>
    </dependencies>
  </plugin>

を参照してください。のMavenのCheckstyleプラグイン - マルチモジュールコンフィギュレーション詳細については、ます。

他のヒント

で説明されているように、 Checkstyleプラグインページ,

configLocation :

使用する XML 構成の場所を指定します。

考えられる値は、ファイルシステムのパス、URL、 またはクラスパスリソース.

自分のプロジェクトではそんなことしたことないんですが…

checkstyle プラグインの起動時に、XML ファイルを含む JAR がクラスパスにあることを確認しますか?

私はのCheckstyleプラグインを指定し、そのリソースフォルダ内の適切なmycheckstyle.xmlを持つ親を抱えています。私は私の両親のリソースフォルダのjarファイルを作り、私の子供で依存関係としてそのjarファイルを定義するためにMavenのアセンブリのプラグインを使用します。だから、子供がのCheckstyleプラグインを継承する+ mycheckstyle.xmlを見つけることができる必要があり、親からの設定だとき。私はのCheckstyleプラグインのページの指示に従っているが、それはうまくいきませんでした。

あなたはあなたの自己作成し、コンパイルのチェックのためにローカルのMavenリポジトリを持っている場合は、定義を忘れないように注意してください。

<repositories>
    <repository>
        <id>my local repository</id>
        <url>file:${basedir}/.m2artifacts</url>
    </repository>
    <!-- ... -->
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>my local repository</id>
        <url>file:${basedir}/.m2artifacts</url>
    </pluginRepository>
    <!-- ... -->
</pluginRepositories>

それ以外の場合は、プラグインの依存関係がちょうど中央Mavenのリポジトリになりますが、あなたのチェックインのクラスを使用してローカルのJARファイルを見つけることができません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top