【问题标题】:Ant Build passes but Sonar build fails!Ant Build 通过但 Sonar 构建失败!
【发布时间】:2011-10-06 02:43:36
【问题描述】:

我正在使用 Sonar 新版本和 Ant build connectint to Hudson。

我在控制台中收到以下错误。

构建成功,但最后它在 Maven 上失败了!我只使用 Sonar-Ant Target。我没有用 pom 做任何事情。

[sonar:sonar] [INFO] 数据库优化完成:421 ms BUILD 成功总时间:49 秒 [工作区] $ mvn.bat -f "C:\文档和 设置\hegdera.hudson\jobs\ZOOR2\workspace\pom.xml" -e -B 声纳:声纳 -Dsonar.host.url=http://localhost:8001 +错误堆栈跟踪已打开。 [INFO] 正在扫描项目... [INFO] 正在搜索存储库以查找带有前缀的插件:“声纳”。 [信息] 忽略可用的插件更新:2.0-beta-2,因为它需要 Maven 版本 3.0 [INFO] 忽略可用的插件更新:2.0-beta-1 需要 Maven 版本 3.0 [信息] -------------------------------------------------- ---------------------- [INFO] 构建 Maven 默认项目 [INFO] 任务段: [声纳:声纳](聚合器样式)[信息] -------------------------------------------------- ---------------------- [信息] -------------------------------------------------- ---------------------- [错误] 构建错误 [信息] -------------------------------------------------- ---------------------- [INFO] 无法执行 mojo:声纳。它需要一个项目 现有的 pom.xml,但构建没有使用一个。 [信息] -------------------------------------------------- ---------------------- [INFO] 跟踪 org.apache.maven.lifecycle.LifecycleExecutionException: 无法执行 mojo:声纳。它需要一个具有现有项目的项目 pom.xml,但构建没有使用一个。在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719) 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284) 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) 在 org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) 在 org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 在 org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 在 org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 在 org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 在 org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 在 org.codehaus.classworlds.Launcher.main(Launcher.java:375) 引起 作者:org.apache.maven.plugin.MojoExecutionException:无法执行 mojo:声纳。它需要一个具有现有 pom.xml 的项目,但是 构建没有使用一个。在 org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:414) 在 org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) ... 17 更多 [信息] -------------------------------------------------- ---------------------- [INFO] 总时间:

谁能帮我解决这个问题?

【问题讨论】:

    标签: ant hudson jenkins sonarqube


    【解决方案1】:

    由于 Maven 无法归档 POM 文件而引发构建失败.......当您尝试使用 ANT Sonar 任务时,为什么要运行 Maven?

    新功能(由 Sonar 2.6 引入)使您能够从 ANT 运行 Sonar 分析,如下所示:

    $ ant sonar
    

    这当然假设您已向您的build.xml 添加了一个名为“声纳”的新目标。例如,我推荐 Sonar ANT 任务documentation

    【讨论】:

    • 我只运行 Ant。我确实运行蚂蚁声纳。我已经配置了一切。当我运行它时,在构建的 Sonar 网站中创建报告,我看到构建失败。
    • 对不起,与您上面的命令跟踪不匹配。您显然正在运行 mvn.bat 命令,该命令会引发错误报告 no "pom.xml" file
    【解决方案2】:

    我明白了!它由 Sonar Hudson 插件完成!它总是在寻找 Maven Pom.xml!

    【讨论】:

    • 你没有提到 Hudson 插件......是的,在引入 Sonar ANT 任务(2.6 版)之前,项目必须创建一个虚拟 POM 文件才能与 Sonar 集成。据我所知,Hudson 插件可以追溯到那个时期......我的建议是从 ANT 作业中运行声纳分析。
    猜你喜欢
    • 2017-06-24
    • 2010-11-08
    • 2014-05-23
    • 1970-01-01
    • 2016-02-21
    • 2019-03-04
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多