请问如何使用sonar进行代码覆盖率检测?

发布于 2021-11-16 02:18:29 字数 4156 浏览 787 评论 6

@hi-alonesword 你好,想跟你请教个问题:

本人想使用sonar进行代码检测,根据网上教程已经成功启动了sonar服务器为http://localhost:9000,并使用用maven新建了一个helloworld程序,使用maven install 编译成功,但是使用 maven sonar:sonar 命令后,得到报错:
望大侠指点迷津!感激不尽!

[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] org/sonar/api/utils/SonarException
org.sonar.api.utils.SonarException
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.NoClassDefFoundError: org/sonar/api/utils/SonarException
  at org.sonar.maven.SonarMojo.execute(SonarMojo.java:138)
  at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:490)
  at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:98)
  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(DefaultPlugi
nManager.java:490)
  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:694)
  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandalone
Goal(DefaultLifecycleExecutor.java:569)
  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:539)
  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:387)
  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:284)
  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.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:6
0)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.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: java.lang.ClassNotFoundException: org.sonar.api.utils.SonarException
  at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
  at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassL
oader.java:195)
  at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassReal
m.java:255)
  at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassReal
m.java:274)
  at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.
java:214)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
  ... 24 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Sat Jun 16 14:12:01 CST 2012
[INFO] Final Memory: 13M/32M
[INFO] ------------------------------------------------------------------------
E:test>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

緦唸λ蓇 2021-11-17 12:16:55

@hi-alonesword  pom.xml 内容如下,改绝对路径了情况一样,求指导怎么修改。。。

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.hjzheng.maven</groupId>
  <artifactId>test</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>test</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
	<build>
	 <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
     </plugins>
  <sourceDirectory>E:/test/src/main/java/com/hjzheng/maven/App.java</sourceDirectory>
  <outputDirectory>E:/test/target/classes</outputDirectory>
  <directory>target</directory>
    </build>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

 

梦中楼上月下 2021-11-17 11:30:22

确保运行  mvn install 的目录与  mvn sonar:sonar 目录一致?

或在 pom.xml 中先将路径写成绝对目录,看看运行是否正确?

简单气质女生网名 2021-11-17 06:18:21

pom.xml里build标签下我也加入了标签 <sourceDirectory>src</sourceDirectory> <outputDirectory>target/classes</outputDirectory> 还是一样的报错。。怎么弄才对呢?

左岸枫 2021-11-16 20:54:21

而且为什么用mvn install 命令就能得到编译成功的提示呢?使用mvn sonar:sonar 就会报出这样的错误呢?

奢华的一滴泪 2021-11-16 16:50:03

根据日志来看,检查一下 Pom.xml 文件定义的源码路径是否正确。

主要错误: java.lang.NoClassDefFoundError: org/sonar/api/utils/SonarException

归途 2021-11-16 11:49:30

emma

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文