Apache Ant(以前称为Jakarta Ant)是一个基于XML的声明式构建工具,最初是为Java项目创建的。它提供了一组丰富的标准任务,用于执行大多数常见的构建操作,例如编译Java源代码,构建存档和运行测试。 Ant的功能可以通过自定义任务和宏进行扩展。
我们有一个 ant 构建过程,当前正在构建我们的 war 文件。 战争中非编译文件(html)的子集需要令牌替换,但我不想在磁盘上执行此操作(我们不
Ant junitlauncher 任务导致“无法启动虚拟机内测试”错误
我正在尝试使用 Ant 构建脚本版本 1.10.12 和 junitlauncher 任务来运行我的单元测试。到目前为止,我已经对所有内容进行了三到四次验证,甚至进行了审查......
如何让 javac 任务使用现有文件集?在我的 build.xml 中,我创建了几个文件集,以便在整个构建文件的多个位置使用。以下是它们的定义方式: <
我需要设置两个全局属性,以便在我的 ant 脚本中调用 javac 时使用。 目前我在每次 javac 调用中都有这个: 我需要设置两个全局属性,以便在我的 ant 脚本中调用 javac。 目前我的每个 javac 调用中都有这个: <compilerarg compiler="org.eclipse.jdt.core.JDTCompilerAdapter" line="-1.6 -warn:none"/> 我尝试设置这样的全局属性 <property name="compiler.args" value="-1.6 -warn:none" /> 但是只有第一个参数被赋予 javac,第二个参数被忽略。 根据: http://ant.apache.org/manual/using.html#arg ,可以为 line 的 compilerarg 属性留出空间。 line a space-delimited list of command-line arguments. 设置property后,仅使用下面的内容会导致任何特定错误? <compilerarg compiler="org.eclipse.jdt.core.JDTCompilerAdapter" line="${compiler.args}"/>
我们有一个通过 Ant 编译的项目,我们遇到了一些问题,人们编写的代码只能通过 eclipse 编译器编译,而不能通过常规 javac 编译,因此我们通过传递...来更改编译器
我正在编写一个ant脚本。在这个特定部分中,我需要获取当前月份以及上个月。我在想类似的事情 我正在编写一个 Ant 脚本。在这个特定部分中,我需要获取当前月份以及上个月。我在想类似的事情 <tstamp> <format property="thismonth" pattern="MMyy"/> <!-- 0210 by february 2010--> </tstamp> <!--I'd like to get 0110 (january 2010) here, but can't imagine how--> <property name="priormonth" value="?"> 我一直在阅读有关房产助手的内容,但我找不到我需要的东西。接下来我可以尝试什么? 您可以使用自定义 JavaScript scriptdef: <project default="build"> <target name="build"> <echo message="Hello world"/> <setdates/> <echo message="thismonth ${thismonth}"/> <echo message="priormonth ${priormonth}"/> </target> <scriptdef name="setdates" language="javascript"> <![CDATA[ importClass(java.text.SimpleDateFormat); importClass(java.util.Calendar); today = new Date(); cal = Calendar.getInstance(); cal.setTime(today); cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) - 1); priormonth = cal.getTime(); fmt = new SimpleDateFormat("MMyy"); self.getProject().setProperty('thismonth', fmt.format(today)); self.getProject().setProperty('priormonth', fmt.format(priormonth)); ]]> </scriptdef> </project> 我确信某些正则表达式可以带来奇迹,但我会简单地创建一个自定义任务。 在您的任务中,您可以使用 getProjet().setProperty() 方法定义新属性。 类似以下内容就足够了: public class PreviousMonthTask extends Task { private String currentDate; private String propertyName; public void setCurrentDate(String currentDate) { this.currentDate = currentDate; } public void setPropertyName(String propertyName) { this.propertyName = propertyName; } @Override public void execute() throws BuildException { // calculate the previous month String previousMonth = ...; getProject().setProperty(this.propertyName, previousMonth); } } 剩下要做的就是定义一个带有类链接的属性文件: previousmonth = org.myproject.PreviousMonthTask 当您加载任务时(请参阅 Ant 文档),您只需使用以下命令调用您的任务: <previousmonth propertyName="previous" currentDate="${current}"/> ANT 的 tstamp 任务 有一个偏移元素: <tstamp> <format property="twoDaysAgo" pattern="yyyy-MM-dd" offset="-2"/> </tstamp> 这会返回两天前的时间戳。 如果您的模式是几个月,我希望您能够做同样的事情,那么偏移量可能会在几个月内起作用。 其实你可以使用: <tstamp> <format property="twoDaysAgo" pattern="yyyy-MM-dd" unit="day" offset="-2"/> </tstamp> 因此,您在前 2 个月使用: <tstamp> <format property="twoDaysAgo" pattern="yyyy-MM-dd" unit="month" offset="-2"/> </tstamp>
如何将一个 Gradle 脚本导入到另一个 Gradle 脚本中?
我有一个复杂的 Gradle 脚本,它包含了围绕构建多个 NetBeans 项目并将其部署到多个环境的大量功能。 该脚本运行得很好,但本质上......
我有一个单元测试,其中我静态定义了一个相当大的字节数组(超过8000字节)作为我不想每次运行单元测试时读取的文件的字节数据。 私有静态最终由...
javac 参数 memoryInitialSize 和 memoryMaximumSize 的默认值是多少?它是否从 env/os 属性或设置中获取这些值? javac参数memoryInitialSize和memoryMaximumSize的默认值是多少?它是否从 env/os 属性或设置中获取这些值? <javac srcdir="@{srcdir}" destdir="@{destdir}" includeantruntime="@{includeantruntime}" debug="@{debug}" deprecation="@{deprecation}" target="@{target}" source="@{target}" fork="@{fork}" executable="@{executable}" memoryInitialSize="@{memoryInitialSize}" memoryMaximumSize="@{memoryMaximumSize}"> <compilerarg compiler="${build.compiler}" line="${build.compiler.args}"/> <javac-elements/> </javac> 文档说,如果 javac 在外部运行,ant 将使用标准 VM 内存设置。正如 dkatzel 在他的评论中指出的那样,这些 VM 设置将在here 进行讨论。
我想忽略特定文件引发的 ant 警告。 为什么有警告并不是强制性的,我只想找到一种方法,忽略来自特定类别的警告...
我有一个项目 git clone --depth 1 --branch v2.3.30 https://github.com/apache/freemarker.git 并想从源代码构建它。为此我发出命令 蚂蚁罐 具有以下输出 └─$ 蚂蚁-v...
我正在寻找一个可以让我切换正在运行的 Java 实现的工具,例如 Ruby 的 RVM(或 RBENV)。我知道 Debian 系统提供了替代机制,我可以设置
antd form.setFieldValue 未按预期工作
我正在使用 form.setFieldValue 修改包含序列号和数字组合的表单字段值。但它只需要数字部分,即使我把它们放在一起并创建了一个......
无法使用ant和闭包编译器编译javascript,因为Jquery的$未声明
我正在尝试让 Google Closure Compiler 编译我使用 Jquery 的 javascript 代码,但我不断收到变量 $ 未声明,有没有办法让它看到 $ 变量。难道是……
如何在没有 ant 的情况下从命令行编译使用 Google Webdriver 的 java 应用程序[重复]
我想编译一个使用谷歌网络驱动程序的示例代码。 我将 webdriver 保存到 /home/iyo/webdriver 中。我的代码是: 包 com.googlecode.webdriver.example; 导入 com.googlecode.webdrive...
Amazon Corretto 21 和 DITA-OT 4.2.3 的 Ant 脚本无法识别 Nashorn
我正在将自定义插件迁移到 DITA OT 4.2.3,这需要更新版本的 JDK。我们使用的是 Amazon Corretto 21.0.3.9.1。我们有一个包含 JavaScript 的 Ant 构建脚本。自从...
运行“ant test”命令时出现“java.lang.IllegalStateException: CONSTANT_info: invalid tag value [18]”如何解决?
我有一个使用apache-ant-1.10.9构建的spring项目。使用tools-2.14版本。在本地环境中运行“ant test”命令时,构建失败并收到错误消息“...
我正在从 ant 文件执行 shell 脚本。我想在日志文件“buillog-perform.txt”中捕获 shell 脚本的标准输出。 下面是我的代码摘录。我的完整版本很好。但是
包 org.apache.tools.ant.util 不存在
我正在尝试使用 maven-antrun-plugin 将 Ant 项目包装在 Maven 中。 这是我的插件配置 org.apache.maven.plugins <
是否可以在 Ant 脚本中调用或执行 Maven 目标? 假设我有一个名为“distribute”的 ant 目标,在其中我需要从另一个 pom.xml 调用 maven“编译”目标。