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

使用通配符模式排除常春藤中的罐子

黎同
2023-03-14

使用apache ivy,我想下载jcs 1.3 jar文件,但我不想要它附带的其他暂时依赖项。我是否可以指定ivy来排除这个特定依赖元素的所有暂时依赖项?或者至少在排除模式中使用通配符?

我查找了Ivy文档,没有找到任何关于如何使用matcher for glob/regex模式排除文件的例子。

以下是我ivy.xml的片段,我想避免排除名称/模块的长列表。

    <dependency org="jcs" name="jcs" rev="1.3" conf="*->*,!sources,!javadoc">
        <exclude name='ant-optional' />
        <exclude name='avalon-framework' />
        <exclude name='berkeleydb' />
        <exclude name='commons-beanutils' />
        <exclude name='commons-beanutils-core' />
        <exclude name='commons-codec' />
        <exclude name='commons-collections' />
        <exclude name='commons-configuration' />
        <exclude name='commons-dbcp' />
        <exclude name='commons-digester' />
        <exclude name='commons-jxpath' />
        <exclude name='commons-lang' />
        <exclude name='commons-logging' />
        <exclude name='commons-logging-api' />
        <exclude name='commons-pool' />
        <exclude name='concurrent' />
        <exclude name='hsqldb' />
        <exclude name='jdom' />
        <exclude name='junit' />
        <exclude name='jdbc-stdext' />
        <exclude name='jta' />          
        <exclude name='log4j' />
        <exclude name='logkit' />
        <exclude name='mysql-connector-java' />
        <exclude name='oro' />
        <exclude name='servlet-api' />
        <exclude name='tomcat-util' />
        <exclude name='velocity' />
        <exclude name='xerces' />
        <exclude name='xercesImpl' />
        <exclude name='xmlrpc' />
    </dependency>

共有1个答案

巫马翰翮
2023-03-14

实际上,使用配置映射要简单得多。下面是一个例子:

<ivy-module version="2.0">
    <info organisation="com.myspotontheweb" module="demo"/>

    <configurations>
        <conf name="compile" description="Required to compile application"/>
        <conf name="runtime" description="Additional run-time dependencies" extends="compile"/>
        <conf name="test"    description="Required for test only" extends="runtime"/>
    </configurations>

    <dependencies>
        <!-- compile dependencies -->
        <dependency org="jcs" name="jcs" rev="1.3" conf="compile->master"/>

    </dependencies>

</ivy-module>

神奇的一点是以下映射:

compile->master

以下答案更详细地解释了Ivy如何解释Maven模块:

ivy如何将maven范围映射到ivy配置

master仅包含此模块本身发布的工件,没有传递依赖项

使用配置是一个强大的功能。cachepath任务可用于填充ANT路径:

   <ivy:cachepath pathid="compile.path" conf="compile"/>
   <ivy:cachepath pathid="test.path"    conf="test"/>
 类似资料:
  • 我目前正在与apache ivy的conf设置作斗争。也许我会先解释我想实现的目标: 我需要两种配置:编译、运行时 这是我试过的: 但它甚至无法被解析:无法解析ivy文件'...\ivy.xml': 有人能告诉我如何正确地声明conf设置,这样我就可以使用compile或runtime来解析,并获得所有jar,包括可传递的依赖项(在这个示例中,只有ivy的jar)。 使现代化 好的,谢谢你的链接。

  • 我正在尝试使用IVY,并且我已经在springsource工具套件中设置了我的IVY-de。 在尝试构建我的工作空间时,我得到了以下错误。 说明资源路径位置类型类路径发布/导出依赖项C:/Users/user1/.ivy2/cache/jstl/jstl.jars/jstl-1.2.jar无效。项目包含另一个具有相同存档名称的依赖项。Web P/Web类路径依赖关系验证器消息 在这方面,我们非常感

  • 我是艾薇的新手,所以这可能已经被报道过了,但是我知道的还不够多。我的搜索结果是空的,没有找到类似的经历。 因此,当我第一次下拉整个项目并且更新库引用时,我有时会收到未解决的依赖项警告。它似乎在随机库上。 例如,我刚刚在某个项目中添加了Commons-codec-1.9,而工作集中的其他项目使用1.6和1.7。当运行盛大的构建脚本时,突然对于1.6和1.7“配置[is]未找到”: 现在,我不完全确定

  • 问题内容: 在Go(语言)中注册处理程序时,是否可以在模式中指定通配符? 例如: 其中可以是任何有效的URL字符串。还是唯一的解决方案是从处理程序()函数内部匹配并找出其余部分? 问题答案: http.Handler和http.HandleFunc的模式不是正则表达式或glob。无法指定通配符。它们记录在这里。 也就是说,创建自己的可以使用正则表达式或所需的任何其他模式的处理程序并不难。这是一个使

  • 我项目中的某些开发人员无法成功执行常春藤解析。我们对远程服务器/文件系统使用ivy-ssh解析器。受影响的开发人员通常会成功解决除1或2个依赖项之外的所有依赖项。未能解决的依赖关系是较大的jar(例如:nasa worldwind)。同样,大多数用户能够毫无问题地解决所有依赖项。eclipse项目,常春藤。xml和ivysettings。xml都来自软件repo,在受影响的用户和未受影响的客户之间

  • 我有一个简单的文件: 其中是我的配置名称,是映射的Maven类型。这被正确解析并给我这些文件: 现在,我必须添加这个依赖项: 它将< code>validation-api作为其依赖项,与我在顶部指定的相同。 艾薇解决了这个问题,给了我这些文件: 但这次没有检索到文件。为什么?我认为这个文件没有冲突……我应该怎么做才能拥有和jar(二进制和源代码)?