2015-09-16 46 views
1

我正在爲Jenkins和Sonarqube創建本地實例。 創建項目並配置完成後,我點擊了「立即生成」。 在控制檯輸出中,我可以看到Maven開始下載所需的元數據,並且一旦完成,它會拋出編譯錯誤」找不到符號「爲項目中的每個文件。Maven在Jenkins中拋出「找不到符號」

Maven是還安裝安裝在我的機器和,我嘗試下載從GIT項目,跑通過命令行家提示它成功生成。只有當我通過Jenkins構建時,我纔會遇到這個問題。有人能幫我解決這個問題嗎?

聲納錯誤

[錯誤]未能執行目標org.codehaus.mojo:聲納Maven的插件:2.6:聲納項目XXXXXXX(默認CLI):目標org.codehaus的執行默認CLI .mojo:聲納Maven的插件:2.6:聲納失敗:一個API不兼容時遇到在執行org.codehaus.mojo:聲納Maven的插件:2.6:聲納:因爲java.lang.UnsupportedClassVersionError:組織/聲納/ API/utils的/ SonarException:不支持的版本MAJOR.MINOR 51.0

[ERROR] ---------------------------------- -------------------

[ERROR]境界=插件> 0 rg.codehaus.mojo:聲納-行家-插件:2.6

[ERROR]策略= org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy

[ERROR]的URL [0] =文件:/ C:/Program%20Files%20(x86)/ Jenkins/maven-repository /1/org/codehaus/mojo/sonar-maven-plugin/2.6/sonar-maven-plugin-2.6.jar

[錯誤]網址[ 1] = file:/ C:/ Program%20Files%20(x86)/Jenkins/maven-repositories/1/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1。罐子

[ERROR]的URL [2] =文件:/ C:/程序%20Files%20(86)/詹金斯/行家-庫/ 1/backp ort-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar

[ERROR] urls [3] = file:/ C:/ Program%20Files%20(x86)/ Jenkins/maven-repository/1/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar

[ERROR] url [4] = file:/ C:/ Program%20Files%20 (x86)/Jenkins/maven-repositories/1/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar

[錯誤]網址[5] = file:/ C:/ Program%20Files%20(x86)/Jenkins/maven-repositories/1/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2。罐子

[ERROR]的URL [6] =文件:/ C:/程序%20Files%20(86)/Jenkins/maven-repositories/1/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec -dispatcher-1.4.jar

[ERROR] url [7] = file:/ C:/ Program%20Files%20(x86)/ Jenkins/maven-repository/1/org/codehaus/plexus/plexus-utils /1.5.5/plexus-utils-1.5.5.jar

[ERROR] url [8] = file:/ C:/ Program%20Files%20(x86)/ Jenkins/maven-repositories/1/org /sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar

[錯誤] url [9] = file:/ C:/ Program%20Files%20(x86)/ Jenkins/maven-repositories/1 /組織/ Codehaus的/聲納/流道/聲納澆道-API/2。4/sonar-runner-api-2.4.jar

[ERROR] urls [10] = file:/ C:/ Program%20Files%20(x86)/ Jenkins/maven-repositories/1/commons-lang/commons-lang-2.6.jar

[ERROR] urls [11] = file:/ C:/ Program%20Files%20(x86)/ Jenkins/maven-repositories/1/com/google/guava/guava/10.0.1/guava-10.0.1.jar

[ERROR] urls [12] = file:/ C:/ Program%20Files%20(x86)/ Jenkins/maven-repositories/1/com/google/code/findbugs/jsr305/2.0.3/jsr305-2.0.3.jar

[錯誤]國外進口數量:1

[錯誤]導入:輸入[從境界ClassRealm [項目> com.XXXX.etl進口:XXXX:0.0.1-快照父:ClassRealm [maven.api,父:空]]]

[錯誤]

[錯誤] ----------------------------------------- ------------

[錯誤] - > [幫助1]

+0

它指的是哪個符號?它不僅僅是一個單一的符號? –

+0

你必須對你所說的錯誤更具體。 '找不到符號'出現在類路徑上的某些東西是錯誤的,所以maven找不到任何類,因此它們的方法會導致這個錯誤。看看你是否正確安裝了maven。看看你是否在jenkins服務器上安裝了jdk而不是jre。看看你是否有適當的環境變量設置。看看你的項目是否沒有使用任何本地庫(你只有在你的機器上)。 –

+0

豪爾赫坎波斯你是對的。 我已經刪除了maven實例。下載並安裝新的副本爲我做了訣竅。 – VSMK

回答

3

請指定Java的編譯版本。這就是爲什麼你面臨這個問題 - UnsupportedClassVersionError 嘗試添加這樣的事情在你的pom.xml

<build> 
    <plugins> 
     <!-- START Of Plugins --> 
     <!-- MAVEN COMPILER PLUGIN --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.3</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 
     <!-- END Of Plugins --> 
    </plugins> 
</build> 

在這裏,我已經使用1.7 JDK。但如果需要,你可以改變它。

請讓知道它是否有效...

+0

就是這樣,我使用的是JDK 1.6升級到1.7的技巧。 除此之外,我還找到了另一個解決方案。 如果詹金斯,maven和Sonar安裝在同一個系統中,你可以在「構建它」時使用jdk1.6自己提到的「sonar:sonar」。報告可以在聲納中查看。 – VSMK