问题标签 [ivy]
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.
ant - Apache Ivy 多个解析器
试图让 IvyRoundUp 打包程序存储库和 cukes maven 存储库与 apache ivy 中的链解析器一起使用
使用以下
现在,当我在我的 ant build 中运行 ivy:retreive 时,它会出现
从我从常春藤网站上可以看出,这意味着我有 2 个解析器,常春藤应该检查两个存储库我缺少什么,因为它没有击中 cukes 解析器
java - Ivy 和 Nexus 的 Sourceforge 组织属性
尝试使用以下设置时:
和:
Nexus 预计
但是 net 和 sourceforge 像这样被完全删除:
ivy - 将工件从 Ivy 部署到 Archiva
有没有人测试过如何在启用了安全性的 Archiva 中部署工件。我有以下配置
我的 ivysettings.xml
我的 build.xml
我的 Archiva deploy_user 具有“存储库管理员”Archiva 角色,但我收到未经授权的消息。事实上,凭据似乎没有考虑在内,因为如果我将“存储库管理器”设置为来宾 Archiva 用户(未经身份验证的用户),则会部署工件。
Archiva 使用协议 webdav。您是否已使用 Ivy webdav 解析器进行了实验凭据?对此有什么想法吗?
java - Ivy、ant 和启动脚本
我有一个使用 ant 构建和 ivy 依赖项的项目。我想为我的项目生成启动脚本,使用类路径,基于在 Ivy 中配置的依赖项,特别是因为依赖项的顺序可能很重要,需要从 ivy 配置中的顺序中保留。
有没有人这样做过?我还需要在类路径中生成相对路径,因此我不能使用绝对路径,因为这仅适用于完成构建的机器。
编辑:根据反馈,如果我们将 Ivy 去掉等式(对我选择的目录进行解析),那么我可能可以解析 libs 列表。但是我将如何生成适合启动脚本的类路径,尤其是相对路径(相对于我的 bin 目录)?
例如
因此,在我的每个 jar 引用之前,bin/start.sh
我需要有一个完整的绝对路径。../lib/
谢谢。
java - 构建 Apache Hive - 无法解决依赖关系
我正在按照http://wiki.apache.org/hadoop/Hive/GettingStarted试用 Apache Hive,并从 Ivy 收到此错误:
对于 4 个不同版本的 Hadoop,此错误重复 4 次,并且构建停止。
我有两个问题:
- 如何手动下载这些文件并将它们提供给构建?
- 为什么 Hive 需要下载 4 个不同版本的 Hadoop 来构建二进制文件?
ant - 如何在 ivy.xml 中包含文件?
我有一个相当大的 ivy.xml 包含许多配置,这些配置对于许多项目都是相同的。
我想把这个大的重复部分分解成一个通用的包含文件。不知何故,我找不到任何描述可以做到这一点的文档。
有谁知道这是否可行?
编辑:经过进一步思考,我认为这是不可行的。常春藤文件是一个有凝聚力的单元,不应包含基于文件的引用,仅包含对其他常春藤模块的引用......
ant - 如何在项目之间最好地共享 Ant 目标?
是否有一种成熟的方法可以在项目之间共享Ant目标?我目前有一个解决方案,但它有点不雅。这是我目前正在做的事情。
我ivy-tasks.xml
在我们网络的服务器上托管了一个文件。除了其他目标之外,该文件还包含用于使用Ivy管理项目依赖项的样板任务。例如:
托管此文件的原因是因为我不想:
- 将文件检查到每个需要它的项目中——这将导致重复,使维护目标变得更加困难。
- 让我的 build.xml 依赖于从源代码管理中签出项目 - 这将使构建在顶层有更多的 XML 来访问文件。
我在项目的 build.xmls 中对这个文件所做的事情是:
关于这一点的“肮脏”部分是我必须在目标之外执行上述步骤,因为导入任务必须在顶层。另外,我仍然必须在所有需要它的 build.xml 文件中包含这个 XML(即,仍然有一些重复)。
最重要的是,在其他情况下,我可能有想要导入的常见(非 Ivy)任务。如果我要使用 Ivy 的依赖项管理来提供这些任务,我仍然会遇到问题,因为当我解决依赖项时,我必须在 build.xml 中的目标内,并且无法导入(由于到上面提到的约束)。
对于我想要完成的事情有更好的解决方案吗?
ant - apache ivy - ivysettings.xml 中有什么
我一直在玩基本的Ivy 教程,并逐渐扩展到我现在有一个单独的 ivy.xml 定义我的依赖项和 apache ant 安装中的 ivy jar 的状态。
我还设法定义了一个共享存储库来阻止常春藤弹出到外部存储库。这是通过在解析任务中定义属性来完成的。
但是,我尝试将这些属性移动到单独的 ivysettings.xml 文件中,但没有成功。
所以问题是我的 ivysettings.xml 应该有什么?
我在下面的最新尝试给出了错误:
未知解析器 null
没有找到...的解析器
ant - 避免在 Ant 中重新构建先决条件
我有一个现有的 Ant 项目,并希望通过避免重新构建已经是最新的组件来加快构建过程。
Ant 允许您指定一个目标依赖于另一个目标,但默认情况下,每个先决条件都会重新构建,即使它已经是最新的。(这是 Ant 和 make 之间的关键区别。默认情况下,make 仅在需要时重新构建目标 - 即,如果某些先决条件更新。)
为了使 Ant 仅在必要时重新构建先决条件,Ant 中似乎有两种通用方法。
第一种方法是使用uptodate
任务来设置属性。然后,您的任务可以测试该属性并仅在(未)设置该属性时进行构建。
另一种方法是使用outofdate
来自 ant contrib 的任务。更好的是,它只是一个目标,没有定义单独的属性;相比之下,outofdate 需要单独的目标来设置和测试属性。
第二种方法是<fileset>
使用<modified>
选择器创建一个。它计算文件的 MD5 哈希值并选择 MD5 与之前存储的值不同的文件。它是可选的设置
在选择器内;它默认为“cache.properties”。这是一个将所有文件从 src 复制到内容已更改的 dest 的示例:
这些都不是很令人满意,因为它需要我为应该是自动的进程(避免重新构建)编写 Ant 代码。
还有 Ivy,但我无法从它的文档中判断它是否提供此功能。Ivy 文档中的关键用例似乎是从 Internet 下载子项目,而不是通过暂存单个项目的各个部分来避免浪费工作。Maven 提供了类似的功能,在其文档中突出显示了相同的用例。(将现有的 non-trivila 项目迁移到 Maven 据说是一场噩梦;相比之下,使用 Maven 开始新开发项目更容易接受。)
有没有更好的办法?