解决ant编译中出现“includeantruntime was not set”警告的问题

简介:

执行ant编译时,总会出现如下的警告:
[javac] D:\SnowPad\build.xml:26: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
虽然不影响编译,但还是解决才安心。其实解决方法也很简单,只需要根据提示在javac任务中添加includeAntRuntime="false"属性即可。例如:
修改前:
    <javac srcdir="${srcDir}" destdir="${binDir}" />
修改后:
    <javac srcdir="${srcDir}" destdir="${binDir}" includeAntRuntime="false" />
注:
1.对于includeAntRuntime属性,官方的解释如下:
    Whether to include the Ant run-time libraries in the classpath; defaults to yes, unless build.sysclasspath is set. It is usually best to set this to false so the script's behavior is not sensitive to the environment in which it is run.
2.此警告在较早的ant版本中可能不会出现,当前用的版本是:Apache Ant(TM) version 1.8.2 compiled on December 20 2010。所以此问题跟ant版本有关。

build.xml

<?xml version="1.0" encoding="UTF-8"?>

<!-- one project with multiple targets  -->
<project name="test" default="run" basedir="." >
    <!-- paths used -->
    <property name="src.dir" value="src" />  <!--src代码放在位置 -->
    <property name="dest.dir" value="build" /> <!-- class 生成位置最好建立该文件 -->
    <property name="dest.report" value="report" />

    <path id="jarfile">  <!-- 需要的jar包放进入 -->
        <fileset dir="lib" includes="testng-6.5.1.jar" />
        <fileset dir="lib" includes="selenium-server-standalone-2.49.0.jar"/>
    </path>

    <!-- delete the output folder if it exists -->
    <delete dir="${dest.dir}" failonerror="false" />
    <!-- create the output folder -->
    <mkdir dir="${dest.dir}" />
    <mkdir dir="${dest.report}" />

    <!-- target to compile all test classes out -->
    <target name="build">

        <!-- do copy -->

        <!-- compile -->
        <javac srcdir="${src.dir}" destdir="${dest.dir}" encoding="UTF-8" debug="true" fork="yes"  includeAntRuntime="false" >
            <classpath refid="jarfile"  />
        </javac>

    </target>

    <!-- define the TestNG task -->

    <taskdef name="testng" classname="com.beust.testng.TestNGAntTask" classpathref="jarfile" />

    <!-- run test -->
    <target name="run" depends="build">
        <testng classpathref="jarfile" outputDir="${dest.report}" haltOnFailure="false">
            <classfileset dir="${dest.dir}" includes="*.class" />
            <classpath>
                <pathelement path="${dest.dir}" />
            </classpath>
            <xmlfileset dir="${basedir}" includes="testng.xml" />
        </testng>
    </target>
</project>










本文转自 知止内明 51CTO博客,原文链接:http://blog.51cto.com/357712148/1891279,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
资源调度 前端开发
编译第三方前端项目时候出现Syntax Error: TypeError: Cannot set properties of undefined (setting ‘parent‘)
编译第三方前端项目时候出现Syntax Error: TypeError: Cannot set properties of undefined (setting ‘parent‘)
496 0
关于 CMake编译出出现错误“Could not find compiler set in environment variable RC:” 的解决方法
关于 CMake编译出出现错误“Could not find compiler set in environment variable RC:” 的解决方法
关于 CMake编译出出现错误“Could not find compiler set in environment variable RC:” 的解决方法
|
13天前
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
49 18
你对Collection中Set、List、Map理解?
|
7天前
|
存储 缓存 安全
只会“有序无序”?面试官嫌弃的List、Set、Map回答!
小米,一位热衷于技术分享的程序员,通过与朋友小林的对话,详细解析了Java面试中常见的List、Set、Map三者之间的区别,不仅涵盖了它们的基本特性,还深入探讨了各自的实现原理及应用场景,帮助面试者更好地准备相关问题。
43 20
|
24天前
|
存储 C++ 容器
【C++】map、set基本用法
本文介绍了C++ STL中的`map`和`set`两种关联容器。`map`用于存储键值对,每个键唯一;而`set`存储唯一元素,不包含值。两者均基于红黑树实现,支持高效的查找、插入和删除操作。文中详细列举了它们的构造方法、迭代器、容量检查、元素修改等常用接口,并简要对比了`map`与`set`的主要差异。此外,还介绍了允许重复元素的`multiset`和`multimap`。
29 3
【C++】map、set基本用法
|
24天前
|
存储 算法 C++
【C++】unordered_map(set)
C++中的`unordered`容器(如`std::unordered_set`、`std::unordered_map`)基于哈希表实现,提供高效的查找、插入和删除操作。哈希表通过哈希函数将元素映射到特定的“桶”中,每个桶可存储一个或多个元素,以处理哈希冲突。主要组成部分包括哈希表、哈希函数、冲突处理机制、负载因子和再散列,以及迭代器。哈希函数用于计算元素的哈希值,冲突通过开链法解决,负载因子控制哈希表的扩展。迭代器支持遍历容器中的元素。`unordered_map`和`unordered_set`的插入、查找和删除操作在理想情况下时间复杂度为O(1),但在冲突较多时可能退化为O(n)。
20 5
|
2月前
|
存储 JavaScript 前端开发
Set、Map、WeakSet 和 WeakMap 的区别
在 JavaScript 中,Set 和 Map 用于存储唯一值和键值对,支持多种操作方法,如添加、删除和检查元素。WeakSet 和 WeakMap 则存储弱引用的对象,有助于防止内存泄漏,适合特定场景使用。
|
3月前
|
存储 Java API
【数据结构】map&set详解
本文详细介绍了Java集合框架中的Set系列和Map系列集合。Set系列包括HashSet(哈希表实现,无序且元素唯一)、LinkedHashSet(保持插入顺序的HashSet)、TreeSet(红黑树实现,自动排序)。Map系列为双列集合,键值一一对应,键不可重复,值可重复。文章还介绍了HashMap、LinkedHashMap、TreeMap的具体实现与应用场景,并提供了面试题示例,如随机链表复制、宝石与石头、前K个高频单词等问题的解决方案。
44 6
【数据结构】map&set详解