问题标签 [maven-ant-tasks]

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 回答
1531 浏览

maven - 将 ant 任务构建的 jar 安装到本地 maven 存储库中

这是我想在我的 Ant 脚本末尾运行的命令:

如果我在 Ant 脚本的末尾输入以下目标:

我明白了CreateProcess error=2. The system cannot find the path specified.

即使我可以在命令行上运行 mvn。是什么赋予了?

0 投票
2 回答
5017 浏览

maven - Maven ant 任务部署到公共关系存储库而不是指定的 url

我难住了。我正在使用 ant 和 maven-ant-tasks 构建快照工件(非 maven)并将其部署到远程 nexus 存储库。构建过程指定存储库的 url。这是运行的 ant 目标:

结果:

由于某些超出我理解的原因,maven 正试图部署到公共存储库(nexus 不允许)而不是指定的快照存储库(注意 nexus.url 变量)。构建文件中没有指定公共 URL。

更奇怪的是,在一台机器上,相同的构建脚本成功地部署了相同的工件,结果如下:

实际使用指定 URL 的位置。在比较两台机器时,ant(1.8.1 版)和 maven-ant-tasks(2.1.3)都是同一个版本。关系日志表明传入的请求在两者之间是不同的(其中一个指定快照存储库,另一个指定公共存储库),所以我想将此错误固定在 Maven 上。但是,我无法确定会导致这种情况的任何差异。

这是怎么回事?!

更新:

在嗅探数据包后,我们发现来自 maven 的请求被发送到:/nexus/content/groups/public/com/xactsites/shared-resources/13.1.19.2/shared-resources-13.1.19.2.war HTTP/1.1,在发送请求之前确认 maven 正在更改 URL。因此,解决此问题的任何努力都可以集中在 maven(而不是 nexus)上。

0 投票
1 回答
97 浏览

maven - 无法从引用的 pom 使用 ant buildfile 中的属性

(我希望我正确地表达了标题!)

我有一个 ant 构建文件,它引用了一个像这样的 maven pom:

在 pom.xml 中,一些依赖项使用属性代替硬编码的版本号。但是复制任务似乎并没有解决该属性 - 它试图从字面上使用“jarname-{app.version}”。我尝试在构建文件中的某处设置“app.version”的值,但没有效果。我究竟做错了什么??

感谢您的任何意见!

0 投票
1 回答
917 浏览

maven - 如何使用 maven ant 任务安装/部署源 jar

我很难理解如何安装或部署 jar 文件及其随附的源(或任何其他分类器)。文档对我来说不是很清楚,让我做一些试验和错误。

0 投票
2 回答
1984 浏览

maven-ant-tasks - 尝试使用 maven-ant-tasks-2.1.3.jar 从 ant 运行 maven,但失败了

根据http://maven.apache.org/ant-tasks/installation.html的说明,我下载了 jar,将其添加到 ANT_HOME/lib 和 ANT 类路径,但加载类路径失败:

错误

提前致谢。

0 投票
1 回答
5277 浏览

maven - 使用 Ant 任务更改 Maven 属性

我在 pom.xml 中设置了一个 Maven 属性。

现在我有一个 ant 任务执行以下操作:

这导致:

但我希望两者都能打印:

所以问题是如何在 ant 任务中设置全局 maven 属性?

0 投票
2 回答
959 浏览

ant - 在 pom.xml 中执行特定的 Ant 任务

我一直在尝试找到一种在 Maven 项目的 pom.xml 中指定一些 ant 任务(在 build.xml 中定义)的好方法。例如,在我的 build.xml 中,我有以下代码行;

如何在我的 pom.xml 中执行此操作?

0 投票
0 回答
338 浏览

maven - Maven antrun 插件未执行目标

我正在尝试使用 maven antrun 插件从我们的 java 构建中自动运行 javascript 测试。一切正常,除了它不会运行<target></target>块内定义的任务。

但是,如果我用 替换<target></target><tasks></tasks>它总是被执行。我想使用,因为它允许通过定义属性<target>有条件地执行任务。-DskipTests

编辑:

事实证明这<tasks unless="skipTests"></tasks>是有效的并且正在正确执行,除非定义了 skipTests 属性。在文档中找不到它。我仍在寻找为什么会发生这种情况的答案。

0 投票
1 回答
1212 浏览

java - 使用 maven-ant-task 获取用于多模块项目集成测试的类路径

我有一个用 maven 构建的多模块项目。我需要每天运行项目的集成测试。在标准的 maven 构建周期中不可能这样做,因为在运行时模块中定义的集成测试具有循环依赖关系,这对我来说在他们的 pom 上声明是非法的。

相反,我创建了一个名为 Global 的单独项目,其中列出了所有模块 jars 和 test-jars 作为其依赖项。Global 与所有模块具有相同的父级。这个想法是使用 maven-ant-tasks 我将能够获得所有模块 jars 和 test-jars 的类路径并从那里继续。Global的pom.xml依赖部分如下:

问题是我似乎无法使用可用的 ant 任务获得包含在 Global 的 pom.xml (及其运行时依赖项)上声明的所有 jars 和 test-jars 的类路径。我已经尝试过(除其他外):

[1] 这个获取所有运行时依赖项。没有错。

[2] 这个获取所有运行时依赖项以及 Global-myversion-tests.jar,但没有其他 test-jar。

[3] 这个一无所获。

显然,为每个模块声明类似 [2] 一次就可以了,但我希望创建一个设置,每次添加或删除新模块时都不需要编辑大量文件。顺便说一句,我正在使用 maven-ant-task-2.1.3。

感谢您的任何意见。

---编辑@yannisf 接受的答案---

你不应该有循环依赖

我假设您的意思是针对 Maven 构建。对运行时有循环依赖是很常见的,例如:

模块 A 声明接口:UploadToDocumentManagementSystem

模块 B 在:UploadToCoolDms 中实现它(这样将来当 DMS 系统更改为 CoolerDms 时,模块 B 可以被新的实现替换,对应用程序的其余部分没有副作用)。

模块 B 依赖于 A 编译时间(根据定义,还依赖于运行时)

模块 A 在运行时依赖于 B

Maven 不允许声明这一点。我可以同情的原因是,maven 需要按特定顺序完成多模块项目的构建周期(包括测试)。问题是,如果您摆脱对 B 的任何运行时依赖以进行 A 的测试,则实际上没有必要声明它(这是一种很好的做法,无论如何都应该发生)。

您应该以 maven 方式做事,而不是求助于 ant-tasks

很公平,我可以看到 maven-ant-tasks 不是为此用途而制作的。

在您的全局 pom 中,您为同一个工件(jar、test-jar)声明双重类型

这是一般的问题吗?例如,模块 A 包含一些我想在模块 B 的测试中使用的测试样本。声明 B 依赖于 A jar (编译范围)和 A test-jar (测试范围)是错误的(根据 maven 最佳实践标准)吗?集成测试项目难道不能证明依赖一个模块以及用于其单元测试的相同模块的示例和资源是合理的吗?

tl;dr 版本:我将尝试重新排列在模块上声明的测试,并为集成测试创建单独的模块(假设我可以让 20 位开发人员参与其中)。感谢您的回答,让我承认失败并停​​止尝试让 maven 与项目一起工作,而不是让项目与 maven 一起工作:)。

0 投票
0 回答
96 浏览

maven - 在源目录中迭代并使用每个子目录创建 zip 文件:Maven 或 ant-task

我想扫描“测试”目录,并根据该目录中的目录数,需要创建多个 zip 文件。'mydir' 文件夹可以重复压缩文件。我的项目结构如下。

'mydir' 和 'vesrion' 的名称可以更改,但在版本下目录结构将是相同的。

我听说过 maven 迭代器插件...或者我应该使用 maven mojo 插件并编写一个 java 类来创建多个 zip 文件?