2017-10-25 8 views
0

Java 1.6で実行する必要のあるレガシーアプリケーションにPMDを設定しようとしています(これは必須です)。私はpmd-pluginのバージョンを見つけようとしています。これは最低でもJava 1.6をビルドしたものです。 maven-pmd-pluginを使用すると、jre 1.6とのバイナリ互換性がないという不満があります。MavenでJava 1.6用PMDを実行する方法

問題は古いバージョンのPMDです。net.sourceforge.pmdは無視され、maven-pmd-plugin:3.8は使用するバージョンに関係なく常に実行されます。 今私はこれで幸運にも試していません。

<dependency> 
    <groupId>net.sourceforge.pmd</groupId> 
    <artifactId>pmd</artifactId> 
    <version>5.0.0</version> 
</dependency> 

答えて

0

Java 6に対してコンパイルされる最新のPMDリリースは、PMD 5.4.6です。 (5.4.xブランチの最後)。 5.5.0以来、PMDはJava 7を必要としていました。

依存関係を明示的に設定することで、必要なバージョンのPMDを使用するようにMavenプラグインに指示できます。

あなたはそうhere

+0

>あなたは>それが明示的に依存関係だ設定することにより、必要とどちらPMDのバージョンを使用してMavenプラグインを伝えることができます行う方法についてのドキュメントを見ることができます。 "maven-pmd-plugin"自体はjava 1.7を使用して実行します。私は、このプラグインをjava 1.6を実行しているMavenで使用することはできないと思います。 –

+0

@MarceloRibeiro Java 6を最後に使用したプラグインバージョン3.6を使用することができます。 – Johnco

+0

バージョン3.6,3.5および3.4​​を使用しています。 java.lang.UnsupportedClassVersionError:net/sourceforge/pmd/renderers/Renderer:サポートされていないメジャー.minorバージョン51.0 私は 以外のレポートのために、他の設定を追加する必要がある場合は、あなたが知っています... \t \t \t \t \t \t \t \t \t \t 組織.apache.maven.plugins \t \t \t \t のmaven-、PMDプラグイン \t \t \t \t 3.4 \t \t \t \t <設定> .... –

関連する問題