2012-11-28 87 views
1

我一直在试图将Sonar与我们的Jenkins连续集成系统集成。我已经为Jenkins安装了Sonar-plugin并对其进行了配置(指定了DB,DB用户名和密码等)。我还指定了sonar-maven-plugin版本为1.0-beta-2。Jenkins-Sonar-Maven集成问题

随着这个插件配置,我添加了一个构建后动作来在我的maven项目上运行Sonar。但每次詹金斯试图执行声纳:声纳目标都会失败,并出现下面的错误。

请帮我解决这个问题。

感谢

[INFO] Building prof 
[INFO] task-segment: [org.codehaus.mojo:sonar-maven-plugin:1.0-beta-2:sonar] (aggregator-style) 
[INFO] ------------------------------------------------------------------------ 
[INFO] [sonar:sonar {execution: default-cli}] 
[INFO] Sonar host: http://inmqbs:9000 
[INFO] Sonar version: 3.3.2 
[INFO] Execute: org.codehaus.sonar:sonar-maven-plugin:3.3.2:sonar 
Downloading: http://troop:8081/nexus/content/groups/platform//org/codehaus/sonar/sonar-maven- plugin/3.3.2/sonar-maven-plugin-3.3.2.pom 
[INFO] Unable to find resource 'org.codehaus.sonar:sonar-maven-plugin:pom:3.3.2' in repository troop-maven-releases (http://troop:8081/nexus/content/groups/platform/) 
Downloading: http://troop:8081/nexus/content/groups/platform//org/codehaus/sonar/sonar-maven-plugin/3.3.2/sonar-maven-plugin-3.3.2.pom 
[INFO] Unable to find resource 'org.codehaus.sonar:sonar-maven-plugin:pom:3.3.2' in repository central (http://repo1.maven.org/maven2) 
Downloading: http://troop:8081/nexus/content/groups/platform//org/codehaus/sonar/sonar-maven-plugin/3.3.2/sonar-maven-plugin-3.3.2.pom 
[INFO] Unable to find resource 'org.codehaus.sonar:sonar-maven-plugin:pom:3.3.2' in repository troop-maven-releases (http://troop:8081/nexus/content/groups/platform/) 
Downloading: http://troop:8081/nexus/content/groups/platform//org/codehaus/sonar/sonar-maven-plugin/3.3.2/sonar-maven-plugin-3.3.2.pom 
[INFO] Unable to find resource 'org.codehaus.sonar:sonar-maven-plugin:pom:3.3.2' in repository central (http://repo1.maven.org/maven2) 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Can not execute Sonar 

Embedded error: Unable to build project for plugin 'org.codehaus.sonar:sonar-maven-plugin': POM 'org.codehaus.sonar:sonar-maven-plugin' not found in repository: Unable to download the artifact from any repository 

    org.codehaus.sonar:sonar-maven-plugin:pom:3.3.2 

    from the specified remote repositories: 
    internal-repository (http://troop:8081/nexus/content/groups/platform/) 

    for project org.codehaus.sonar:sonar-maven-plugin 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
org.apache.maven.lifecycle.LifecycleExecutionException: Can not execute Sonar 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals (DefaultLifecycleExecutor.java:719) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal (DefaultLifecycleExecutor.java:569) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal (DefaultLifecycleExecutor.java:539) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) 
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) 
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 
at org.codehaus.classworlds.Launcher.main(Launcher.java:375) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute Sonar 
at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:103) 
at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:79) 
at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:88) 
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals (DefaultLifecycleExecutor.java:694) 
... 17 more 
+1

你在命令行试过吗?排除詹金斯的问题 –

+0

是的,它在做mvn声纳时会抛出同样的错误:sonar – user1522820

回答

2

清楚的问题来自于您的Nexus存储库或你已经在你的POM/settings.xml文件/詹金斯设置提出了一些具体的配置。你应该联系处理这个“http:// troop:8081”Nexus实例的人,以了解如何处理你的问题。

顺便说一句,没有必要强制sonar-maven-plugin插件的版本:这会导致你只有麻烦。

+0

我已经移除了sonar-maven-plugin的强制。但它仍然抛出同样的错误。 – user1522820

+0

这只是一个旁注......你的主要问题是关于插件库的配置,可能是你的项目的POM中,你的服务器的settings.xml文件或Jenkins配置中。 –

+0

非常感谢。问题出在您指出的存储库上。我们没有为3.3.2 Sonar版本部署这些工件。我们的工件被部署为3.3。所以,我将Sonar更改为3.3,并且运行良好。再次感谢。 – user1522820

0

你使用的数据库是?,如果它默认为derby数据库,那么只允许来自localhost的连接,因此sonar和jenkins应该运行在同一台机器上。如果这是问题,我可以给出进一步的指导,但简而言之,要么更改数据库,要么更改德比连接属性,或在声纳和詹金斯机器之间提供ssh隧道。

0

使用在配置声纳Maven的插件2.0-β-1 代替声纳Maven的插件:1.0-β-2