有没有人设法使用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>
答案 0 :(得分:11)
在2011年3月20日,Findbugs 2.3.2已经发布,Maven 3支持。
这意味着您应该能够使用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
会导致同样的错误。)