首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蚂蚁需要在travis服务器上使用junit.jar

蚂蚁需要在travis服务器上使用junit.jar
EN

Stack Overflow用户
提问于 2017-08-19 09:08:10
回答 2查看 388关注 0票数 2

当我运行ant test时,一切都很酷,但是当Travis运行相同的命令时,

$ ant检验

构建文件: /home/travis/build/AwesomeTeamPlayer/event-receiver/build.xml 汇编: mkdir创建dir: /home/travis/build/AwesomeTeamPlayer/event-receiver/build javac /home/travis/build/AwesomeTeamPlayer/event-receiver/build.xml:28: 警告:“includeantruntime”未设置,默认为build.sysclasspath=last;对于可重复构建,javac将12个源文件编译为/home/travis/build/AwesomeTeamPlayer/event-receiver/src/EventReceiver/EventsCollection.java,注意:/home/travis/build/AwesomeTeamPlayer/event-receiver/src/EventReceiver/EventsCollection.java使用未检查或不安全的操作。javac :使用-Xlint:unchecked重新编译以了解详细信息。 测试-编译: mkdir创建了dir: /home/travis/build/AwesomeTeamPlayer/event-receiver/build/test javac将3个源文件编译成/home/travis/build/AwesomeTeamPlayer/event-receiver/build/test 测试: 构建失败 /home/travis/build/AwesomeTeamPlayer/event-receiver/build.xml:42: 问题:创建任务或类型junit失败 原因:找不到类org.apache.tools.ant.taskdefs.optional.junit.JUnitTask。 这看起来像是Ant的可选组件之一。操作:检查添加在带有-a参数的命令行中的-/usr/share/ant/lib -/home/travis/.ant/lib目录中是否存在适当的可选JAR 不要惊慌,这是一个常见的问题。 最常见的原因是一个丢失的罐子。 这不是错误,而是配置问题。

当我在ant test文件中将ant test -lib ./lib/junit-4.12.jar更改为ant test -lib ./lib/junit-4.12.jar时,我会得到相同的错误消息:/

.travis.yml

代码语言:javascript
复制
language: java
jdk:
  - oraclejdk8

services:
  - docker

script: ant test -lib ./lib/junit-4.12.jar

build.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="iso-8859-2"?>
<project name="Project name" basedir="." default="compile">

    <property name="src.dir" value="./src"/>
    <property name="build.dir" value="./build"/>
    <property name="lib.dir" value="./lib"/>
    <property name="test.dir" value="./tests"/>
    <property name="test.build.dir" value="./build/test"/>

    <path id="classpath.compile">
        <pathelement location="${lib.dir}/amqp-client-4.0.2.jar"/>
        <pathelement location="${lib.dir}/json-20170516.jar"/>
        <pathelement location="${lib.dir}/slf4j-api-1.7.25.jar"/>
        <pathelement location="${lib.dir}/slf4j-simple-1.7.25.jar"/>
        <pathelement location="${build.dir}"/>
    </path>

    <path id="classpath.test">
        <pathelement location="${lib.dir}/mockito-all-1.10.19.jar"/>
        <pathelement location="${lib.dir}/junit-4.12.jar"/>
        <pathelement location="${lib.dir}/hamcrest-core-1.3.jar"/>
        <pathelement location="${build.dir}"/>
    </path>

    <target name="compile" depends="">
        <delete dir="${build.dir}" />
        <mkdir dir="${build.dir}"/>
        <javac srcdir="${src.dir}" destdir="${build.dir}">
            <classpath refid="classpath.compile"/>
        </javac>
    </target>

    <target name="test-compile" depends="compile">
        <mkdir dir="${test.build.dir}"/>
        <javac srcdir="${test.dir}" destdir="${test.build.dir}" includeantruntime="false">
            <classpath refid="classpath.test"/>
            <classpath refid="classpath.compile"/>
        </javac>
    </target>

    <target name="test" depends="test-compile">
        <junit printsummary="on" haltonfailure="yes" fork="true">
            <classpath>
                <path refid="classpath.test"/>
                <path refid="classpath.compile"/>
                <pathelement location="${test.build.dir}"/>
            </classpath>
            <formatter type="brief" usefile="false" />
            <batchtest>
                <fileset dir="${test.dir}" includes="**/*Test.java" />
            </batchtest>
        </junit>
    </target>

    <target name="test-integration" depends="test-compile">
        <junit printsummary="on" haltonfailure="yes" fork="true">
            <classpath>
                <path refid="classpath.test"/>
                <path refid="classpath.compile"/>
                <pathelement location="${test.build.dir}"/>
            </classpath>
            <formatter type="brief" usefile="false" />
            <batchtest>
                <fileset dir="${test.dir}" includes="integration/**/*Test.java" />
            </batchtest>
        </junit>
    </target>
</project>

lib dir中

  • amqp-client-4.0.2.jar
  • hamcrest-core-1.3.jar
  • json-20170516.jar
  • junit-4.12.jar
  • mockito-all-1.10.19.jar
  • slf4j-api-1.7.25.jar
  • slf4j-simple-1.7.25.jar
EN

回答 2

Stack Overflow用户

发布于 2017-08-19 09:39:06

我知道该怎么做了。我加了

代码语言:javascript
复制
before_script:
   - sudo apt-get install ant-optional

这解决了我的问题;)

票数 2
EN

Stack Overflow用户

发布于 2019-12-06 05:04:17

正如在https://docs.travis-ci.com/user/installing-dependencies/上提到的

要安装不包含在标准的精确、可靠、异种或仿生发行版中的Ubuntu包,请在您的before_install步骤中使用apt。

这意味着将以下内容添加到.travis.yml文件中:

代码语言:javascript
复制
before_install:
   - sudo apt-get install ant-optional
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45769731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档