2015-01-20 74 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

相關問題