当前位置: 首页 > 知识库问答 >
问题:

詹金斯:艾玛:确认错误

别俊誉
2023-03-14
java.lang.VerifyError: Expecting a stackmap frame at branch target 11 in method
tests.FieldTest.<init>()V at offset 4
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:190)

有人有主意吗?

build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="TicTacToe" default="jar" basedir=".">

    <property name="src.dir" value="${basedir}/src" />
    <property name="src.dir.tests" value="${src.dir}/tests" />

    <property name="lib.dir" value="${basedir}/lib" />
    <property name="lib.dir.compile" value="${lib.dir}/compile" />
    <property name="lib.dir.test" value="${lib.dir}/test" />

    <property name="target.dir" value="${basedir}/target" />
    <property name="target.dir.classes" value="${target.dir}/classes" />
    <property name="target.dir.test.classes" value="${target.dir}/test-classes" />
    <property name="target.dir.test.reports" value="${target.dir}/test-reports" />
    <property name="target.dir.test.coverage" location="${target.dir}/coverage" />
    <property name="target.dir.test.coverage.meta" location="${target.dir}/coverage/metadata" />
    <property name="target.dir.test.instrumentation" location="${target.dir}/instr-classes" />
    <property name="target.dir.doc" value="${target.dir}/doc" />

    <path id="project.classpath">
        <fileset dir="${lib.dir.compile}" includes="*.jar" />
    </path>

    <path id="path.classes.run">
        <path refid="project.classpath" />
        <path location="${target.dir.classes}" />
    </path>

    <path id="path.test.run">
        <path refid="path.classes.run" />
        <path location="target.dir.test.classes" />
    </path>

    <target name="clean">
        <delete dir="${target.dir}" />
    </target>

    <target name="prepare">
        <mkdir dir="${target.dir}" />
        <mkdir dir="${target.dir.classes}" />
        <mkdir dir="${target.dir.classes}" />
        <mkdir dir="${target.dir.doc}" />
        <mkdir dir="${target.dir.test.classes}" />
        <mkdir dir="${target.dir.test.reports}" />
        <mkdir dir="${target.dir.test.coverage}" />
        <mkdir dir="${target.dir.test.coverage.meta}" />
        <mkdir dir="${target.dir.test.instrumentation}" />
    </target>

    <target name="prebuild.classes">
        <javac srcdir="${src.dir}" destdir="${target.dir.classes}" excludes="${src.dir.tests}" classpathref="project.classpath" includeantruntime="false" />
    </target>

    <target name="prebuild.test" depends="prebuild.classes">
        <javac srcdir="${src.dir.tests}" destdir="${target.dir.test.classes}" classpathref="path.classes.run" includeantruntime="false" />
    </target>

    <property name="emma.dir" value="/home/tebbje/emma/lib" />
    <property name="emma.enabled" value="true" />

    <path id="emma.lib">
        <pathelement location="${emma.dir}/emma.jar" />
        <pathelement location="${emma.dir}/emma_ant.jar" />
    </path>

    <taskdef resource="emma_ant.properties" classpathref="emma.lib" />

    <target name="reports" depends="prebuild.test">

        <copy todir="${target.dir.test.instrumentation}">
            <fileset dir="${target.dir.test.classes}" />
        </copy>

        <emma enabled="${emma.enabled}">
            <instr instrpath="${target.dir.test.instrumentation}" metadatafile="${target.dir.test.coverage.meta}/metadata.emma" merge="true" mode="overwrite" />
        </emma>

        <junit printsummary="yes" fork="true" haltonfailure="no">
            <classpath>
                <pathelement location="${target.dir.test.coverage.instrumentation}" />
                <pathelement location="${target.dir.test.classes}" />
                <path refid="path.test.run" />

                <path refid="emma.lib" />

            </classpath>
            <!--
            <jvmarg value="-Demma.coverage.out.file=${target.dir.test.coverage.meta}/metadata.emma" />
            <jvmarg value="-Demma.coverage.out.merge=true" />
            //-->
            <formatter type="xml" />
            <formatter type="plain" />

            <batchtest todir="${target.dir.test.reports}">
                <fileset dir="${src.dir}">
                    <include name="**/*Test.java" />
                </fileset>
            </batchtest>
        </junit>

        <junitreport tofile="TESTS-TestSuites.xml" todir="${lib.dir.test}">
            <fileset dir="${lib.dir.test}">
                <include name="TEST-*.xml" />
            </fileset>
            <report format="frames" todir="${lib.dir.test}" />
        </junitreport>
        <!--
        <emma enabled="${emma.enabled}">
            <report sourcepath="${src.dir}">
                <fileset dir="${target.dir.test.coverage.meta}">
                    <include name="*.emma" />
                </fileset>
                <txt outfile="./reports/coverage/coverage.txt" />
                <html outfile="./reports/coverage/coverage.html" depth="class" />
            </report>
        </emma>
//-->
    </target>

    <target name="javadoc.generate">
        <javadoc packagenames="*" sourcepath="${src.dir}" destdir="${target.dir.doc}" classpathref="project.classpath" />
    </target>

    <target name="javadoc" depends="javadoc.generate">
        <jar destfile="${target.dir}/${ant.project.name}-javadoc.jar" basedir="${target.dir.doc}" />
    </target>

    <target name="sources">
        <jar destfile="${target.dir}/${ant.project.name}-sources.jar" basedir="${src.dir}" />
    </target>

    <target name="jar">
        <echo message="Project looks good! Deploy JAR..." />

        <jar destfile="${target.dir}/${ant.project.name}.jar" basedir="${target.dir.classes}">
            <manifest>
                <attribute name="Main-Class" value="control.Control" />
            </manifest>
            <zipgroupfileset dir="./lib/compile" includes="**/*.jar" />
        </jar>
    </target>

</project>

共有1个答案

楚丰羽
2023-03-14

你为什么用Emma而不是Jacoco?Jacoco的工作大多是开箱即用,仍在开发中。我想艾玛不会再往前走了。

https://wiki.jenkins-ci.org/display/JENKINS/JaCoCo插件

 类似资料:
  • 有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。

  • 问题内容: 如何轻松地将Jenkins与qUnit集成?我将使用真正的浏览器(如firefox和chrome)运行测试。我的服务器在RedHat 6.1 Linux上运行。我想我都需要插件/库,但我仍然不知道如何使其工作。我第一次与Jenkins合作(在服务器端)。 //编辑: 如果有人也可以共享想法如何构建覆盖率报告,那将是很棒的。 提前致谢 :)。 问题答案: 说詹金斯和QUnit只是难题的一

  • 我想做一些非常简单的事情,在一个文件夹中,我有一个jar文件和一个包含脚本的名为脚本的文件夹。但我可以让詹金斯拉链来做这件事。 zip目录:“awsdeploy”,排除:“”,glob:“”,“scripts/”,zipFile:“SQSToElasticProcessor.zip” 必须显式命名“zip”的参数。@ 第 31 行,第 16 列。

  • 问题内容: 我有一台托管Oracle Linux的虚拟机,在其中安装了Docker并使用docker- compose文件创建了容器。我将jenkins卷放在一个共享文件夹下,但是在启动docker-compose时,我遇到了Jenkins的以下错误: 詹金斯| 触摸:无法触摸’/var/jenkins_home/copy_reference_file.log’:权限被拒绝 无法写入/var/je

  • 我在mac os X 10.6.8上安装了詹金斯,成功安装詹金斯后,我在浏览器中以默认地址浏览它http://localhost:8080但tomcat页面显示的不是詹金斯主页。我读了jenkins的文档,它将需要执行命令java-jarjenkins.war--http pPort=8080 当执行命令java-jarjenkins时。war——httpPort=8080 有这个错误 2016-

  • 问题内容: 我想配置bitbutcket来触发詹金斯构建。 我花了一些时间对此进行了研究,所有的答案都来自几年前,并且没有找到任何指导,因为从那以后情况似乎有所变化。 我正在尝试做的事情: 将位桶推送到特定分支会触发构建。 我所拥有的: Bitbucket Web挂钩,可在推送到任何分支时向Jenkins发出HTTP请求。我还在Jenkins上安装了Bitbucket插件,该插件在job conf