2015-01-20 73 views
1

我正在使用Maven 3.2.3和Java 6(1.6.45)。我想将FindBugs插件合并到我的网站报告中。所以我说这到我的POM ...当试图运行Maven FindBugs插件时,获取java.lang.UnsupportedClassVersionError:edu/umd/cs/findbugs/FindBugs2

<reporting> 
      <plugins> 
        <plugin> 
          <groupId>org.apache.maven.plugins</groupId> 
          <artifactId>maven-checkstyle-plugin</artifactId> 
          <version>2.13</version> 
          <reportSets> 
            <reportSet> 
              <reports> 
                <report>checkstyle</report> 
              </reports> 
            </reportSet> 
          </reportSets> 
        </plugin> 
        <plugin> 
          <groupId>org.codehaus.mojo</groupId> 
          <artifactId>findbugs-maven-plugin</artifactId> 
          <version>3.0.0</version> 
        </plugin> 
        <plugin> 
          <groupId>org.apache.maven.plugins</groupId> 
          <artifactId>maven-jxr-plugin</artifactId> 
          <version>2.3</version> 
        </plugin> 
      </plugins> 
    </reporting> 

然而,当我运行

mvn site:site site:deploy 

我得到下面的异常...

[INFO] Generating "FindBugs" report --- findbugs-maven-plugin:3.0.0 
[INFO] Locale is en 
[INFO] Fork Value is true 
    [java] Exception in thread "main" java.lang.UnsupportedClassVersionError: edu/umd/cs/findbugs/FindBugs2 : Unsupported major.minor version 51.0 
    [java]  at java.lang.ClassLoader.defineClass1(Native Method) 
    [java]  at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637) 
    [java]  at java.lang.ClassLoader.defineClass(ClassLoader.java:621) 
    [java]  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    [java]  at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    [java]  at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    [java]  at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    [java]  at java.security.AccessController.doPrivileged(Native Method) 
    [java]  at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    [java]  at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    [java]  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    [java]  at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
[INFO] ------------------------------------------------------------------------ 

任何想法还有什么我需要包括修复这个?谢谢, - Dave

+0

您正在使用的FindBugs的发布似乎已经用Java7进行了编译。我相信你会通过使用Java7 JDK运行Maven来避免此消息。请参阅http://stackoverflow.com/questions/10382929/unsupported-major-minor-version-51-0 – unigeek 2015-01-20 21:03:03

+0

啊,我正在运行Java 6.你知道什么是这样一个JDK的正确兼容版本? – Dave 2015-01-20 21:24:20

+0

对于Java6,major.minor版本号是50.0。你是这个意思吗?可能将JAVA_HOME配置为指向Java7版本,然后确保您的环境获取该更改,并且我正在考虑解决此问题。如果你必须使用Java6,我会认为你可以得到一个用Java6编译的老版本的FindBugs版本 - 只是一个想法。 – unigeek 2015-01-20 21:28:27

回答

0

如果您必须使用Java6,我怀疑您需要Findbugs的2.0.3版本。不过,我承认我从this类似的问题的回答中推断出来,这个问题真的与Eclipse插件有关。而且,再深入挖掘一下,v2.0.3将成为最后一个支持Java6的Findbugs版本 - 请参阅发行说明here

相关问题