Findbugs和Maven 3.x

时间:2011-01-10 17:48:10

标签: maven findbugs

有没有人设法使用findbugs 2.3.1,2.3.2-SNAPSHOT或2.4-SNAPSHOT来处理Maven 3.x项目?

我总是最终:

  

[错误]无法执行目标   org.codehaus.mojo:FindBugs的,Maven的插件:2.4快照:FindBugs的   项目cular-db上的(default-cli):An   FindBugs报告中发生错误   报告生成。找不到   匹配构造函数:   org.codehaus.mojo.findbugs.FindbugsReportGenerator(org.codehaus.doxia.module.xhtml.XhtmlSink,   java.util.PropertyResourceBundle,   java.io.File中,   org.apache.maven.doxia.tools.DefaultSiteTool)

我尝试了所有最新版本。如果我使用findbugs:fingbugs或仅使用网站目标并不重要。它用

指定
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>findbugs-maven-plugin</artifactId>
      <version>${findbugs.version}</version>
      <configuration>
        <threshold>High</threshold>
        <effort>Default</effort>
      </configuration>
    </plugin>

3 个答案:

答案 0 :(得分:11)

在2011年3月20日,Findbugs 2.3.2已经发布,Maven 3支持。

Announcement

Release Notes

这意味着您应该能够使用Maven 3的最新非快照版本的插件(版本2.3.2或更高版本)。

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>findbugs-maven-plugin</artifactId>
  <version>2.3.2</version>
</plugin> 

答案 1 :(得分:1)

正如我在评论中所说,你应该使用2.3.2-SNAPSHOT的findbugs版本Maven 3。我使用maven-quickstart-archetype启动了一个项目并执行了mvn findbugs:findbugs,并且成功生成了报告而没有任何问题。

[INFO] ****** FindBugsMojo execute *******
[INFO] Inside canGenerateReport..... false
[INFO] Inside canGenerateReport..... skip false, classFilesDirectory.exists() true
[INFO] canGenerate is true
[INFO] ****** FindBugsMojo executeReport *******
[INFO] Temp File is /home/umut/noinstall/dummy/target/findbugsTemp.xml
[INFO] Fork Value is true
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:56.550s
[INFO] Finished at: Mon Jan 10 11:05:13 PST 2011
[INFO] Final Memory: 9M/55M
[INFO] ------------------------------------------------------------------------

以下是我的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.dummy</groupId>
    <artifactId>dummy</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>dummy</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <pluginRepositories>
        <pluginRepository>
            <id>codehaus.snapshots</id>
            <url>http://snapshots.repository.codehaus.org</url>
        </pluginRepository>
    </pluginRepositories>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>2.3.2-SNAPSHOT</version>
                <configuration>
                    <threshold>High</threshold>
                    <effort>Default</effort>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

顺便说一句,你是对的,它不能与2.3.1合作,但我没有尝试2.4-SNAPSHOT

答案 2 :(得分:1)

对于遇到同样问题的人来说,这只是一个简短说明:我的经验是,它适用于2.3.2-SNAPSHOT,但不适用于<{1}} 。 (2.4-SNAPSHOT会导致同样的错误。)