当前位置: 首页 > 知识库问答 >
问题:

使用Ivy发布文件时,是否考虑了[conf]标记?

沃念
2023-03-14

我正在学习常春藤(http://ant.apache.org/ivy/ ),并将其整合为我们构建过程的一部分。一切都很顺利,但是我被常春藤出版的任务卡住了。具体来说,我希望使用以下模式发布到本地存储库(包括当前配置的名称):

$ { ivy . local . default . root }/[组织]/[模块]/[修订]/[类型]s/[会议]/[工件]。[分机]

因此,我设置了自定义解析器:

<filesystem name="modifiedLocalRepo">
    <ivy pattern="${ivy.local.default.root}/[organisation]/[module]/[revision]/[type]s/[conf]/[artifact].[ext]" />
    <artifact pattern="${ivy.local.default.root}/[organisation]/[module]/[revision]/[type]s/[conf]/[artifact].[ext]" />
</filesystem>

并配置了发布任务:

<ivy:publish 
    settingsRef="ivy.ext.settings.custom" <!--Location of definition of modifiedLocalRepo-->
    resolver="modifiedLocalRepo" 
    artifactspattern="bin/Debug/[module].[ext]" 
    pubrevision="1.1-Test" 
    overwrite="true"
    conf="primary"
/>

并在常春藤中定义conf。xml文件:

<info organisation="Mine" module="Dependency"/>
<configurations defaultconf="primary"> <!--Don't think defaultconf should be necessary-->
    <conf name="primary"/>
</configurations>
<publications>
    <artifact name="Dependency" ext="dll" type="bin" conf="primary"/>
    <artifact name="Dependency" ext="pdb" type="bin" conf="primary"/>
</publications>

我已经完成了工作流程、常春藤配置、解析、项目构建和工件发布(使用上面的自定义解析器)。但[conf]标记始终解析为“default”。因此,发布的目录具有以下结构:

\.ivy2\本地\我的\依赖关系\1.1-测试\bins\默认\

而不是结构

\ . ivy 2 \ local \ Mine \ Dependency \ 1.1-Test \ bins \ primary \

我一直在修改它,设置conf值、defaultconf值等。无论它们在哪里都是有效的,但它总是“默认的”。

我正在使用ant进行构建,并在调试模式(-d)下运行,检查了输出,没有发现任何有用的东西。我已经查看了

如果有用的话,我可以附上我用来进行有限测试构建的完整xml文件。

在Ivy发布的工件模式中,[conf]标记有效吗?如果是的话,我错过了什么?谢谢!

更新:正在使用常春藤 2.3.0-rc2,并决定尝试回滚并使用常春藤 2.0.0。同样的问题。

共有1个答案

督坚白
2023-03-14

看看我在github的常春藤项目。我设置了它,所以您可以轻松地将它添加到现有的Ant项目中。

我们使用Maven存储库,所以我设置它来创建一个pom.xml,然后使用mvn部署:部署文件将其部署回Maven存储库。我们使用Jenkins进行构建,所以我们使用Jenkins运行mvn部署文件来进行部署。我想我们可以使用

 类似资料:
  • 我只是想知道在执行SPF记录检查时是否读取了标题。 因此,当邮件服务器接收到包含不同于头的头的电子邮件时,接收服务器使用哪一个来检查邮件是否从正确的邮件服务器发送? 如果我理解正确,SPF只检查来自SMTP(?)的命令,这相当于电子邮件头(?),因此头从未被考虑在内...? http://www.openspf.org/svn/project/specs/rfc4408.txt 这样做对吗? 所以

  • 问题内容: java函数System。 currentTimeMillis ()显然返回自1970年1月1日以来的秒数。但是,根据Wikipedia.org/wiki/Leap_second的说法,自1972年以来已经有25个leap秒。这意味着自1970年1月1日以来的实际秒数比单纯的计算所建议的秒数多25。是否系统。 currentTimeMillis ()会天真的计算而忽略the秒吗? 问题

  • 使用Ant Ivy构建,我试图将我的罐子分成一个配置,用于第三方罐子,另一个配置用于我构建和发布的罐子。项目A使用第三方罐子并构建一个项目B所依赖的罐子,但是当我使用蚂蚁常春藤时,我无法让项目B检索项目A罐子。 当我为ProjectB执行ant脚本时,它很好地构建了ProjectA。ProjectA构建将jar发布到本地存储库。ProjectB从公共存储库中检索必要的jar没有问题,但当它尝试检索

  • 我正在尝试使用tomcat设置kerberos/spnego身份验证。我在tomcat目录下添加了一个krb5.conf文件,在SpnegoFilterConfig中读取值并设置java.security.krb5.conf,但是似乎没有考虑到这一点。无论文件是否存在,我都会得到相同的结果。 如果我把jce安全文件放在lib/security中,我会得到 然而,无论我是否拥有krb5.conf,这

  • 问题内容: 对于Java库项目,要发布的工件非常简单,因为输出是单个jar文件。但是,我也有一个项目,其中包含以下内容: MyLib.jar armeabi / libStuff.so armeabi-v7a / libStuff.so mips / libStuff.so x86 / libStuff.so 我无法将所有这些.so文件设置为工件,因为它们都具有相同的名称。推荐的方法是什么?将所有

  • 问题内容: 我想避免序列化(在JMS / AMF中),但仍使用JPA / Hibernate保留该字段。 是修改我的朋友?注释和修饰符是否相关? Java规范明确指出,系统服务不会将瞬态字段保存到持久性存储中。但是hibernate是系统服务吗?(我不这样认为) http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.h