java - Jcov 代码覆盖实用程序导致错误 com.sun.javatest is missing
问题描述
我正在尝试在 java 应用程序上实现代码覆盖率测量。我已使用此命令构建 jcov 实用程序
ant -v -f build.xml -Dasmjar5=~/sans/jcov_artifacts/asm-5.0.1/lib/asm-5.0.1.jar -Djavatestjar=~/sans/jcov_artifacts/jtharness/lib/javatest.jar
但是不断收到以下错误消息,说 sun 是否存在将 com.sun.javatest 添加到打包为 jar 文件或我做错了什么?有任何想法吗?我在ubuntu 14.04 和asm-7.0 & jtharness-4.6.tar.gz上使用java 8
build-jt.observer:
[mkdir] Created dir: /home/zebra/sans/jcov/JCOV_BUILD/temp/jcov_jtobserver_classes
[javac] jcov/JTObserver.java added as jcov/JTObserver.class doesn't exist.
[javac] Compiling 1 source file to /home/zebra/sans/jcov/JCOV_BUILD/temp/jcov_jtobserver_classes
[javac] Using modern compiler
dropping /home/zebra/sans/jcov/build/javatest.jar from path as it doesn't exist
[javac] Compilation arguments:
[javac] '-d'
[javac] '/home/zebra/sans/jcov/JCOV_BUILD/temp/jcov_jtobserver_classes'
[javac] '-classpath'
[javac] '/home/zebra/sans/jcov/JCOV_BUILD/temp/jcov_jtobserver_classes'
[javac] '-target'
[javac] '1.7'
[javac] '-encoding'
[javac] 'iso-8859-1'
[javac] '-g'
[javac] '-source'
[javac] '1.7'
[javac]
[javac] The ' characters around the executable and arguments are
[javac] not part of the command.
[javac] File to be compiled:
[javac] /home/zebra/sans/jcov/src/classes/jcov/JTObserver.java
[javac] warning: [options] bootstrap class path not set in conjunction with -source 1.7
[javac] /home/zebra/sans/jcov/src/classes/jcov/JTObserver.java:27: error: package com.sun.javatest does not exist
[javac] import com.sun.javatest.Harness;
[javac] ^
[javac] /home/zebra/sans/jcov/src/classes/jcov/JTObserver.java:28: error: package com.sun.javatest does not exist
[javac] import com.sun.javatest.Parameters;
[javac] ^
[javac] /home/zebra/sans/jcov/src/classes/jcov/JTObserver.java:29: error: package com.sun.javatest does not exist
[javac] import com.sun.javatest.TestResult;
[javac] ^
[javac] /home/zebra/sans/jcov/src/classes/jcov/JTObserver.java:30: error: package com.sun.javatest.TestResult does not exist
[javac] import com.sun.javatest.TestResult.Section;
[javac] ^
[javac] /home/zebra/sans/jcov/src/classes/jcov/JTObserver.java:40: error: package Harness does not exist
[javac] public class JTObserver implements Harness.Observer {
[javac] ^
[javac] /home/zebra/sans/jcov/src/classes/jcov/JTObserver.java:72: error: cannot find symbol
[javac] public void startingTestRun(Parameters prmtrs) {
[javac] ^
[javac] symbol: class Parameters
[javac] location: class JTObserver
[javac] /home/zebra/sans/jcov/src/classes/jcov/JTObserver.java:76: error: cannot find symbol
[javac] public void startingTest(TestResult tr) {
[javac] ^
[javac] symbol: class TestResult
[javac] location: class JTObserver
[javac] /home/zebra/sans/jcov/src/classes/jcov/JTObserver.java:104: error: cannot find symbol
[javac] public void finishedTest(TestResult tr) {
[javac] ^
[javac] symbol: class TestResult
[javac] location: class JTObserver
[javac] /home/zebra/sans/jcov/src/classes/jcov/JTObserver.java:78: error: package TestResult does not exist
[javac] tr.addObserver(new TestResult.Observer() {
[javac] ^
[javac] 9 errors
[javac] 1 warning
BUILD FAILED
/home/zebra/sans/jcov/build/build.xml:291: Compile failed; see the compiler error output for details.
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1174)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:930)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
at org.apache.tools.ant.Main.runBuild(Main.java:851)
at org.apache.tools.ant.Main.startAnt(Main.java:235)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Total time: 4 seconds
解决方案
推荐阅读
- linux - 无法发送电子邮件 - ISPConfig / Roundcube
- c# - 如何在 asmx 方法 asp.net 中获取会话值
- java - Android 10 requestNetwork() takes too long displaying specified network
- html - laravel 5.8 bootstrap 在 Jquery 中不起作用
- php - 使用 Symfony 的教义命令问题
- reactjs - 如何更改 Material UI 自动完成弹出框的宽度
- javascript - Nest 无法解析 CommonModule 的依赖关系
- amazon-web-services - 创建 AWS EKS 集群的不同选项
- c# - 使用 .NET Core Web API 作为 ASP.NET Web 窗体应用程序的子路由
- node.js - 我的 docker 容器在哪个端口上运行了 React 应用程序?来自 Dockerfile 的 Reacts 的默认 PORT 或 EXPOSE?