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

Ant需要travis服务器上的junit.jar

百里渊
2023-03-14

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

[mkdir] Created 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/build[javac]注意:/home/travis/build/awesometeamplayer/event-receiver/src/eventreceiver/eventscollection.java使用未经检查或不安全的操作。[javac]注意:使用-xlint:unchecked重新编译详细信息。

测试编译:

[mkdir] Created dir: /home/travis/build/AwesomeTeamPlayer/event-receiver/build/test
[javac] Compiling 3 source files to /home/travis/build/AwesomeTeamPlayer/event-receiver/build/test 

测试:

生成失败

/home/travis/build/awesometeamplayer/event-receiver/build.xml:42:

    This looks like one of Ant's optional components. Action: Check that the appropriate optional JAR exists in
    -/usr/share/ant/lib
    -/home/travis/.ant/lib
    -a directory added on the command line with the -lib argument 

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

.travis.yml:

language: java
jdk:
  - oraclejdk8

services:
  - docker

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

build.xml:

<?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>
    null

共有1个答案

元阳荣
2023-03-14

我知道该怎么做。我添加

before_script:
   - sudo apt-get install ant-optional

这就解决了我的问题

 类似资料:
  • 问题内容: 我了解jsonp是一种绕过相同原始政策的技术。基本上,您在脚本标签中引用json服务服务器端点,因为脚本标签不受SO策略的限制。 我的问题是:假设服务器具有一个为json提供服务的终结点,是否需要对服务器进行任何修改才能在客户端中使用jsonp? 我想不,但是想确定。 问题答案: 是的,JSONP呈现时略有不同,因此您的服务器需要支持它。 JSON看起来像这样: JSONP看起来像这样

  • 问题内容: 用uWSGI和Nginx设置Flask是非常困难的,即使使用扩展脚本也需要花费一些时间,并且必须记录到指令中以备后用。 如果我不打算在服务器上增加很大的负载(它对公共隐藏),那么在没有uWSGI的情况下运行它是否有意义?(Flask可以监听端口。Nginx可以转发请求吗?) 只在端口上运行裸瓶应用程序,甚至不使用Nginx是否有意义? 问题答案: 当你“运行Flask”时,你实际上是在

  • 问题内容: 用uWSGI和Nginx设置Flask是非常困难的,即使使用扩展脚本也需要花费一些时间,并且必须记录到指令中以备后用。 如果我不打算在服务器上增加很大的负载(它对公共隐藏),那么在没有uWSGI的情况下运行它是否有意义?(Flask可以监听端口。Nginx可以转发请求吗?) 只在端口上运行裸瓶应用程序,甚至不使用Nginx是否有意义? 问题答案: 当你“运行Flask”时,你实际上是在

  • PHP 版本 5.1.6 或更新的版本。 大多数 Web 应用程序需要数据库。当前支持的数据库接口为:MySQL (4.1+), MySQLi(推荐), MS SQL, Postgres, Oracle, SQLite 和 ODBC。

  • 推荐使用 PHP 5.6 或更新版本。 虽然 CodeIgniter 也可以在 PHP 5.3.7 上运行,但是出于潜在的安全和性能问题, 我们强烈建议你不要使用这么老版本的 PHP,而且老版本的 PHP 也会缺少很多特性。 大多数的 Web 应用程序应该都需要一个数据库。当前 CodeIgniter 支持下列数据库: MySQL (5.1+),驱动有:mysql (已废弃),mysqli 和 p