情似当年 2020-03-24 10:44 采纳率: 33.3%
浏览 830

在Jenkins中使用ANT报Problem: failed to create task or type antlib:org.jacoco.ant:dump

求助,我在远程到Jenkins的机器后,以root用户运行ant dump是没问题的,可是Jenkins运行ant dump就报错。
下面是我的build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="vmuser" xmlns:jacoco="antlib:org.jacoco.ant" default="jacoco">
    <!--Jacoco的安装路径-->
    <property name="jacocoantPath" value="/root/tools/jacoco-0.8.5/lib/jacocoant.jar"/>

    <!--最终生成.exec文件的路径,Jacoco就是根据这个文件生成最终的报告的-->
    <property name="jacocoexecPath" value="/var/lib/jenkins/workspace/vmUserCodeCoverage/result/jacoco.exec"/>

    <!--生成覆盖率报告的路径,直接放在tomct下面,外界直接访问-->
    <property name="reportfolderPath" value="/var/lib/jenkins/workspace/vmUserCodeCoverage/report"/>

    <!--远程tomcat服务的ip地址-->
    <property name="server_ip" value="127.0.0.0"/>

    <!--前面配置的远程tomcat服务打开的端口,要跟上面配置的一样-->
    <!--这个端口有别于tomcat的端口,相当于是嵌在tomcat里的监视器-->
    <property name="server_port" value="8229"/>


    <!--源代码路径-->
    <!--<property name="checkOrderSrcpath" value="/root/LoginDemo4/src/main/java/" />-->
    <!--可以配置多个源代码-->
    <property name="checkOrderSrcPath" value="/var/lib/jenkins/workspace/vmUserCodeCoverage/app/src/main/java/"/>
    <property name="checkOrderSrcPath2" value="/var/lib/jenkins/workspace/vmUserCodeCoverage/service/src/main/java/"/>


    <!--.class文件路径-->
    <!--跑的是class,标注的是源码?-->
    <!--<property name="checkOrderClasspath" value="/root/wftest/target/classes/com/hundsun" />-->

    <property name="checkOrderClasspath" value="/var/lib/jenkins/workspace/vmUserCodeCoverage/home/ec2-user/test/jacoco/jacoco_class/com/dingtone/videomaster/user/service/impl"/>

    <property name="checkOrderClasspath2" value="/var/lib/jenkins/workspace/vmUserCodeCoverage/home/ec2-user/test/jacoco/jacoco_class/com/dingtone/videomaster/user/app/controller"/>



    <!--让ant知道去哪儿找Jacoco-->
    <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
        <classpath path="${jacocoantPath}" />
    </taskdef>

    <!--dump任务:
        根据前面配置的ip地址,和端口号,
        访问目标tomcat服务,并生成.exec文件。-->
    <target name="dump">
        <jacoco:dump address="${server_ip}" reset="false" destfile="${jacocoexecPath}" port="${server_port}" append="true"/>
    </target>


  <!--jacoco任务:
      根据前面配置的源代码路径和.class文件路径,
      根据dump后,生成的.exec文件,生成最终的html覆盖率报告。-->
  <target name="report">
      <delete dir="${reportfolderPath}" />
      <mkdir dir="${reportfolderPath}" />

      <jacoco:report>
          <executiondata>
              <file file="${jacocoexecPath}" />
          </executiondata>

          <structure name="JaCoCo Report">
              <group name="Check Order related">         
                  <classfiles>
                      <fileset dir="${checkOrderClasspath}"/>
                      <fileset dir="${checkOrderClasspath2}"/>
                  </classfiles>  
                  <sourcefiles encoding="UTF-8">
                      <fileset dir="${checkOrderSrcPath}" />
                      <fileset dir="${checkOrderSrcPath2}" />
                  </sourcefiles>
              </group>
          </structure>
          <html destdir="${reportfolderPath}" encoding="UTF-8" />
          <csv destfile="${reportfolderPath}/coverage-report.csv" encoding="UTF-8"/>
          <xml destfile="${reportfolderPath}/coverage-report.xml" encoding="UTF-8"/>         
      </jacoco:report>
  </target>
</project>

报错:

  • ant dump Buildfile: /var/lib/jenkins/workspace/vmUserCodeCoverage/build.xml [taskdef] Could not load definitions from resource org/jacoco/ant/antlib.xml. It could not be found.

dump:

BUILD FAILED
/var/lib/jenkins/workspace/vmUserCodeCoverage/build.xml:46: Problem: failed to create task or type antlib:org.jacoco.ant:dump
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any / declarations have taken place.
No types or tasks have been defined in this namespace yet

This appears to be an antlib declaration.
Action: Check that the implementing library exists in one of:
-/usr/local/apache-ant-1.10.7/lib
-/var/lib/jenkins/.ant/lib
-a directory added on the command line with the -lib argument

Total time: 0 seconds
Build step 'Execute shell' marked build as failure
Finished: FAILURE

我检查了所有依赖的文件夹权限,全都改成了777 ,Jenkins的运行身份也提升到了root,都不行。

  • 写回答

2条回答 默认 最新

  • 童童仝仝 2020-04-17 15:45
    关注

    <!--远程tomcat服务的ip地址-->
    IP地址写错了,修改ip地址为服务器ip,不要写127.0.0.1(本地回环IP也写错了)

    评论

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退