问题标签 [taskdef]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1925 浏览

ant - 使用 Maven 依赖项在 Ant 中定义 testNG taskdef

我正在尝试使用 Ant 和 Maven 来构建一个项目。我正在使用 testNG 作为测试单元。如此处所述(http://testng.org/doc/ant.html),我已将 taskdef 定义如下:

在蚂蚁。

在 Maven 中,我添加了以下内容(如此处所述:http: //testng.org/doc/maven.html

Maven 正在从 Maven 存储库中获取文件,并且我检查了 /.m2 下的位置。现在我从 maven 获得了 testNG,我应该更改 ant 中的 taskdef 以在 Maven 存储库中使用这个新的。我不知道该怎么做。我尝试了以下方法:

但没有成功,第二个抱怨我不应该使用classpathref,第一个说我应该指定类。第三个正在工作,但不完全。它正在进行中,我猜它通过了 taskdef 步骤,但它没有执行测试。蚂蚁的一部分(第三个):

部分 Ant 输出:(注意执行的 echo,它以某种方式通过了 taskdef 步骤)

我不确定如何使用 Maven 存储库中的 testNG 库来定义( taskdef )Ant 中的 testngtasks。任何见解将不胜感激

0 投票
1 回答
2542 浏览

ant - Intellij IDEA 无法识别 XJC 任务属性

我有一个带有 XJC 任务定义的 ant build.xml 文件:

jaxb dir cotnains jaxb-xjc.jar 里面有 XJCTask 类。

然后我在某个目标中调用 xjc 任务:

Intellij IDEA 无法识别 xjc 调用的结构/模式,并以红色突出显示所有属性(目标、包、标题)和包含元素(模式)。

如果我选择 Ant 选项并将 jaxb-xjc.jar 添加到其他类路径列表,这将无济于事。我使用捆绑的 Ant 1.8.2

不好的是,当我在 IDEA 中编译它时,会出现很多相关错误,但是当我运行构建脚本时,一切正常。我想抑制这些错误。

有任何想法吗?

0 投票
1 回答
5012 浏览

java - Ant taskdef - PermGen 空间不足

使用创建子项目的 Ant 任务,例如 <antcall>并且<ant>可能由于以下错误之一而在重复调用时导致构建失败:

  • java.lang.OutOfMemoryError: PermGen 空间
  • java.lang.OutOfMemoryError:Java 堆空间

仅当正在调用的任务之一使用<typedef>or定义时才会发生错误<taskdef>,并且在使用与 Ant 捆绑在一起的任务(例如<javadoc>.

有没有办法在OutOfMemoryError不增加最大 Java 堆大小的情况下避免这种情况?虽然增加堆大小暂时有效,但如果添加更多内存密集型任务,问题仍然会重新出现。


以下示例任务和关联build.xml文件 OutOfMemoryError在我的 Linux 机器上导致 Java 堆设置为 10 MB(用于测试)。Ant 任务构造了一个需要大量内存的对象(在本例中为闭包模板大豆模块的 Guice 注入器),然后使用<antcall>.

 

CreateGuiceInjectorTask.java

 

构建.xml

 

测试输出:

0 投票
2 回答
31567 浏览

java - 如何为 Ant 构建配置 Ivy

我目前ANT_HOME位于/home/<myuser>/ant/1.8.4/ant-1.8.4.

我刚刚下载了包含其依赖项的 Apache Ivy tarball。我将其提取到/home/<myuser>/ivy/2.3.0-rc1/ivy-2.3.0-rc1.

然后我复制/home/<myuser>/ivy/2.3.0-rc1/ivy-2.3.0-rc1/lib/*.jarANT_HOME/lib. 如果我对 Ant 如何使用插件/扩展的理解是正确的,那么 Ant 现在应该能够在运行时访问所有 Ivy 的任务。

我的下一个问题是,如何在 Ant 构建文件中定义 Ivy 任务?说我要使用ivy-retrieve,ivy-resolveivy-publish任务。当我从命令行运行我的 Ant 构建(我不会通过 Ant-Eclipse 插件构建)时,我需要做哪些配置(在 XML 中)才能使这些任务正常工作。提前致谢!

0 投票
4 回答
213 浏览

xml - 编写我的第一个 Ant 任务:我缺少什么?

我已经阅读了这篇文章并用它来编写我的第一个 Ant 任务,名为AutoTestTask

我还将此对象编译并打包成auto-test.jar.

如果我对 Ant 的理解是正确的,那么为了将它包含在另一个项目的构建中,我使用以下 XML:

相信我还需要复制auto-test.jar到我的 ${ANT_HOME}/lib 目录中 -有人可以确认吗?令我困惑的是xmlns:at="antlib:org.me.auto-test"XML 顶部的属性,特别是该antlib:<whatever>部分。这是某种特定于 Ant 的协议,它说“*任何由at命名空间限定的东西都可以在 ${ANT_HOME}/lib 中找到,并且根包为org.me.auto-test*”?如果没有,有人可以解释它的含义吗?

另外,如果我遗漏了任何明显的内容或配置不正确,请告诉我。提前致谢!

0 投票
1 回答
1853 浏览

ant - Gradle:如何定义依赖于 ant 目标的任务

嗨,如果我列出所有带有任务的gradle testGradle任务 - 我看到所有导入的 ant 任务,但是当我尝试创建依赖于 ant 任务的任务时,我得到“无法确定任务':testGradle'的依赖关系”。

有问题的那一行:task testGradle(dependsOn: 'init' )- 它显然没有看到 ant init 任务。

我做错了什么?

构建.gradle

全部完成任务

其他任务

all compile - 编译主源代码树 java 文件

byWorld5 copyTestConfiguration - 复制单元测试配置 deployLoggerProperties - 将 logging.properties 部署到 tomcat execMoped importTasks install - 在 Tomcat 列表中安装应用程序 - 列出 Tomcat 应用程序 init - 准备运行编译工件 reload - 在 Tomcat 中重新加载应用程序 start - 启动 Tomcat 应用程序 stop - 停止 Tomcat应用程序测试 - 运行 junit 测试 编译 - 编译主源代码树 java 文件

> 毕业-v

摇篮 1.1

Gradle 构建时间:2012 年 7 月 31 日星期二下午 1:24:32 UTC Groovy:1.8.6 Ant:Apache Ant(TM) 版本 1.8.4 编译于 2012 年 5 月 22 日 Ivy:2.2.0 JVM:1.6.0_24(Sun Microsystems Inc. 20.0-b12) 操作系统:Linux 2.6.32-220.23.1.el6.x86_64 amd64

>gradle -c

org.gradle.api.GradleScriptException:评估根项目“moped_gradle”时出现问题。在 org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:54) 在 org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:127) 在 org.gradle.configuration.BuildScriptProcessor .evaluate(BuildScriptProcessor.java:38) 在 org.gradle.configuration.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:43) 在 org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:463) 在 org. org.gradle.configuration.ProjectEvaluationConfigurer.execute(ProjectEvaluationConfigurer.java:23) 在 org.gradle.configuration 的 gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:75)。在根项目“moped_gradle”上。在 org.gradle.api.internal.AbstractDynamicObject.propertyMissingException(AbstractDynamicObject.java:43) 在 org.gradle.api.internal.AbstractDynamicObject.getProperty(AbstractDynamicObject.java:35) 在 org.gradle.api.internal.CompositeDynamicObject.getProperty (CompositeDynamicObject.java:60) 在 org.gradle.groovy.scripts.BasicScript.propertyMissing(BasicScript.java:70) 在 build_62g86rvs7k0vqsu3ssgdsrobsc.run(/home/natalik/MyInstalls/moped_gradle/build.gradle:14) 在 org.gradle .groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52) ... 33 更多

0 投票
1 回答
328 浏览

ant - 由taskdef定义的任务会在ant中默认运行fork模式还是在同一进程内?

由于 taskdef 没有 fork 属性,所以默认情况下,taskdef 定义的任务是在 fork 模式下运行还是在运行 ant 脚本的同一进程内运行。

我的任务定义如下

提前致谢,索曼

0 投票
1 回答
766 浏览

ant - 使用 ant 的 taskdef 解析类路径并仅运行所需的目标

我的main-build.xml看起来像:

deploy.xml在第三方 jar 中存在的类之一上使用 taskdef ant 任务:

sub-build.xml导入main-build.xml &deploy.xml并尝试运行 deploy.xml 中存在的 ant 目标,但无法抱怨

如何解决这样的问题。由于在执行目标之前导入文件时会执行所有任务定义和导入,因此它失败了。不确定将所有抱怨的第三方 jar 添加到 ant 的类路径是否正确?

0 投票
1 回答
405 浏览

ant - 从 Gradle 使用 Taskdef + 可用任务导致失败

我正在通过 taskdef 加载 ant-contrib 然后我正在检查创建了“IfTask”的可用任务。这失败了

可用任务似乎没有使用 taskdef 使用的相同类加载器进行检查?

在 Oleg Pavliv 回答后编辑经过一番折腾,这有效地起作用。我的问题应该更清楚。

这在 Ant 中有效,但在从 Gradle 调用 ant 时不起作用,即在 gradle 构建中:

0 投票
1 回答
816 浏览

java - 如何运行 ant 任务作为先决条件?

我使用此处的说明创建了自己的 ant 任务。在我的 ant 脚本中,我创建了<taskdef>这样的:

然后我可以将调用它的脚本作为 ant 任务导入:

这一切都很好。现在,我想在 taskdef 发生之前在 myUploader.xml 中进行一些设置。 <taskdef>不喜欢if,unlessdepends. 如何确保在<taskdef>完成之前调用我的设置任务?