忽略常春藤检索中的源 jar [英] Ignore sources jar in Ivy retrieve

查看:19
本文介绍了忽略常春藤检索中的源 jar的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我在我的 ivy.xml 中为 Red5(或任何项目)使用依赖项时,我只想检索库 jar.无论我如何配置它,我仍然会获得依赖项的源"jar.我已经搜索了文档和谷歌,但还没有找到可以使用 Ivy 2.2.0 的解决方案.

我的 ivy.xml 中的这组节点似乎最适合大多数库,但 Spring 忽略了它们.

 <exclude ext="txt"/><exclude type="src"/><exclude artifact="!sources"/>

如果有人有任何有用的提示,让我们听听!

指向源 xml 文件的链接

http://red5.googlecode.com/svn/java/server/trunk/ivy.xml

http://red5.googlecode.com/svn/java/server/trunk/ivysettings.xml

http://red5.googlecode.com/svn/java/server/trunk/build.xml

注意

不要说这是重复的,他们的答案不起作用:

ivy:防止下载源和 .txt 文件

让 ivy 不下载源代码和许可文件

更新 1

<dependency org="org.springframework" name="org.springframework.core" rev="3.0.5.RELEASE" transitionive="false"/>

在我的 lib 目录中生成这两个文件:

org.springframework.core-3.0.5.RELEASE.jarorg.springframework.core-sources-3.0.5.RELEASE.jar

更新 2对于赏金,我希望您的解决方案能够与 Red5 主干一起使用,该主干作为开源提供给所有人.来源罐子对我来说只是一个烦恼,非常值得赏金点.

我修改了您的 ivy.xmlivysettings.xml 文件.

为了抑制源文件,我使用了默认配置映射,以避免需要为每个依赖项添加conf"属性.

 ....

Spring 现在通过 Maven 中心发布他们的软件,所以我修改了 ivy 设置文件以使用这些而不是旧的 ivy 包存储库.

修改ivy.xml

<信息组织=red5"模块=服务器"/><configurations defaultconfmapping="default"><conf name="default"/><conf name="java6" extends="default" description="Java 6 依赖项"/><conf name="eclipse" description="Eclipse 中的特殊依赖项"/><conf name="utest" extends="eclipse" description="单元测试依赖项"/></配置><依赖项><dependency org="javax" name="javaee-api" rev="5.1.2"/><!-- 春天 --><dependency org="org.springframework" name="spring-asm" rev="3.0.5.RELEASE"/><dependency org="org.springframework" name="spring-beans" rev="3.0.5.RELEASE"/><dependency org="org.springframework" name="spring-context" rev="3.0.5.RELEASE"/><dependency org="org.springframework" name="spring-core" rev="3.0.5.RELEASE"/><dependency org="org.springframework" name="spring-expression" rev="3.0.5.RELEASE"/><dependency org="org.springframework" name="spring-web" rev="3.0.5.RELEASE"/><!-- 日志记录--><dependency org="org.slf4j" name="com.springsource.slf4j.api" rev="1.6.1" 传递="false"/><dependency org="org.slf4j" name="com.springsource.slf4j.bridge" rev="1.6.1" 传递="false"/><依赖名称="jul-to-slf4j" rev="1.6.1"/><依赖名称="log4j-over-slf4j" rev="1.6.1"/><依赖名称="jcl-over-slf4j" rev="1.6.1"/><dependency name="logback-classic" rev="0.9.28"/><dependency name="logback-core" rev="0.9.28"/><!-- 一般情况--><dependency org="commons" name="commons-beanutils" rev="1.8.2"/><dependency org="org.apache.commons" name="com.springsource.org.apache.commons.codec" rev="1.4.0" 传递="false"/><dependency org="org.apache.commons" name="com.springsource.org.apache.commons.collections" rev="3.2.1" 传递="false"/><dependency org="commons" name="httpcore" rev="4.1.3"/><dependency org="commons" name="httpclient" rev="4.1.2"/><dependency org="commons" name="commons-lang3" rev="3.0-beta"/><dependency org="org.apache.commons" name="com.springsource.org.apache.commons.modeler" rev="2.0.1" 传递="false"/><dependency org="commons" name="commons-pool" rev="1.5.6"/><依赖名称="quartz" rev="1.8.5"/><依赖名称="ehcache" rev="2.2.0"/><!-- XML --><dependency org="org.apache.xerces" name="com.springsource.org.apache.xerces" rev="2.9.1" 传递="false"/><依赖名称="xmlrpc" rev="2.0.1"/><!-- 米娜--><dependency org="mina" name="mina-integration-beans" rev="2.0.4"/><dependency org="mina" name="mina-integration-jmx" rev="2.0.4"/><dependency org="mina" name="mina-core" rev="2.0.4"/><!-- 脚本编写--><dependency org="org.objectweb.asm" name="com.springsource.org.objectweb.asm" rev="3.2.0" 传递="false"/><dependency org="org.objectweb.asm" name="com.springsource.org.objectweb.asm.commons" rev="3.2.0" 传递="false"/><dependency org="org.antlr" name="com.springsource.org.antlr" rev="3.1.3" 传递="false"/><dependency org="org.codehaus.groovy" name="com.springsource.org.codehaus.groovy" rev="1.7.0" 传递="false"/><依赖名称="jruby-complete" rev="1.1.6"/><依赖名称="jython" rev="2.5"/><dependency org="org.mozilla.javascript" name="com.springsource.org.mozilla.javascript" rev="1.7.0.R2" 传递="false"/><dependency org="javax.xml.stream" name="com.springsource.javax.xml.stream" rev="1.0.1" 传递="false"/><dependency org="org.springframework" name="spring-context-support" rev="3.0.5.RELEASE"/><!-- 加密货币--><依赖名称="bcprov-jdk16" rev="145" conf="java6->*"/><!-- MP3 --><依赖名称="jaudiotagger" rev="2.0.4-SNAPSHOT"/><!-- 测试支持--><!-- 在 Eclipse 更新他们的 junit 版本之前,我们必须使用这个 --><dependency org="org.junit" name="com.springsource.org.junit" rev="4.8.1" conf="eclipse->*" transitionive="false"/><dependency name="GroboUtils" rev="5-core" conf="eclipse->*"/><dependency org="org.springframework" name="org.springframework.test" rev="3.0.5.RELEASE" conf="eclipse->*" transitionive="false"/><dependency org="org.springframework" name="org.springframework.transaction" rev="3.0.5.RELEASE" conf="eclipse->*" transitionive="false"/></依赖项></ivy-module>

修改了ivysettings.xml

<settings defaultResolver="chain"/><解析器><链名=链"><ibiblio name='central' m2compatible='true'/><ibiblio name='springsource-external' m2compatible='true' root='http://repository.springsource.com/maven/bundles/external'/><url name="googlecode"><artifact pattern="http://red5.googlecode.com/svn/repository/[artifact](-[revision]).[ext]"/><artifact pattern="http://red5.googlecode.com/svn/repository/[organisation]/[artifact](-[revision]).[ext]"/></链></解析器></ivysettings>

I would like to retrieve ONLY the library jar when I make use of a dependency entry in my ivy.xml for Red5 (or any project for that matter). No matter how I have configured it, I still get "sources" jars for dependencies. I have scoured the docs and google and have yet to find a solution that works using Ivy 2.2.0.

This set of nodes in my ivy.xml seems to work the best for most libraries, but Spring ignores them.

    <exclude ext="txt" />
    <exclude type="src" />
    <exclude artifact="!sources" />

If anyone has any tips that would work, lets hear them!!

Links to the source xml files

http://red5.googlecode.com/svn/java/server/trunk/ivy.xml

http://red5.googlecode.com/svn/java/server/trunk/ivysettings.xml

http://red5.googlecode.com/svn/java/server/trunk/build.xml

Note

Don't say this is a duplicate, their answers do NOT work:

ivy: prevent downloading sources and .txt files

make ivy not to download sources and license files

Update 1

<dependency org="org.springframework" name="org.springframework.core" rev="3.0.5.RELEASE" transitive="false" />

Produces these two files in my lib directory:

org.springframework.core-3.0.5.RELEASE.jar
org.springframework.core-sources-3.0.5.RELEASE.jar

Update 2 For the bounty, I expect your solution to work with Red5 trunk which is available to everyone as open source. The sources jars are just a annoyance for me and well worth the bounty points.

解决方案

I revised your ivy.xml and ivysettings.xml files.

To suppress source files I used a default configuration mapping to avoid the need to add a "conf" attribute to each dependency.

    <configurations defaultconfmapping="default">
    ..
    ..

Spring now release their software via Maven central so I revised the ivy settings file to use these instead of the old ivy bundle repositories.

Revised ivy.xml

<ivy-module version="2.0" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
    <info organisation="red5" module="server" />

    <configurations defaultconfmapping="default">
        <conf name="default"/>
        <conf name="java6" extends="default" description="Java 6 dependencies"/>
        <conf name="eclipse" description="Special dependencies in Eclipse"/>
        <conf name="utest" extends="eclipse" description="Unit testing dependencies"/>
    </configurations>

    <dependencies>
        <dependency org="javax" name="javaee-api" rev="5.1.2" />

        <!-- Spring --> 
        <dependency org="org.springframework" name="spring-asm" rev="3.0.5.RELEASE"/>
        <dependency org="org.springframework" name="spring-beans" rev="3.0.5.RELEASE" />
        <dependency org="org.springframework" name="spring-context" rev="3.0.5.RELEASE" />
        <dependency org="org.springframework" name="spring-core" rev="3.0.5.RELEASE" />
        <dependency org="org.springframework" name="spring-expression" rev="3.0.5.RELEASE" />
        <dependency org="org.springframework" name="spring-web" rev="3.0.5.RELEASE" />

        <!-- Logging --> 
        <dependency org="org.slf4j" name="com.springsource.slf4j.api" rev="1.6.1" transitive="false" />
        <dependency org="org.slf4j" name="com.springsource.slf4j.bridge" rev="1.6.1" transitive="false" />

        <dependency name="jul-to-slf4j" rev="1.6.1" />
        <dependency name="log4j-over-slf4j" rev="1.6.1" />
        <dependency name="jcl-over-slf4j" rev="1.6.1" />    
        <dependency name="logback-classic" rev="0.9.28" />
        <dependency name="logback-core" rev="0.9.28" />

        <!-- General --> 
        <dependency org="commons" name="commons-beanutils" rev="1.8.2" />
        <dependency org="org.apache.commons" name="com.springsource.org.apache.commons.codec" rev="1.4.0" transitive="false" />
        <dependency org="org.apache.commons" name="com.springsource.org.apache.commons.collections" rev="3.2.1" transitive="false" />

        <dependency org="commons" name="httpcore" rev="4.1.3" />
        <dependency org="commons" name="httpclient" rev="4.1.2" />

        <dependency org="commons" name="commons-lang3" rev="3.0-beta" />
        <dependency org="org.apache.commons" name="com.springsource.org.apache.commons.modeler" rev="2.0.1" transitive="false" />

        <dependency org="commons" name="commons-pool" rev="1.5.6" />
        <dependency name="quartz" rev="1.8.5" />
        <dependency name="ehcache" rev="2.2.0" />

        <!-- XML -->
        <dependency org="org.apache.xerces" name="com.springsource.org.apache.xerces" rev="2.9.1" transitive="false" />
        <dependency name="xmlrpc" rev="2.0.1" />

        <!-- Mina -->   
        <dependency org="mina" name="mina-integration-beans" rev="2.0.4" />
        <dependency org="mina" name="mina-integration-jmx" rev="2.0.4" />
        <dependency org="mina" name="mina-core" rev="2.0.4" />

        <!-- Scripting -->
        <dependency org="org.objectweb.asm" name="com.springsource.org.objectweb.asm" rev="3.2.0" transitive="false" />
        <dependency org="org.objectweb.asm" name="com.springsource.org.objectweb.asm.commons" rev="3.2.0" transitive="false" />
        <dependency org="org.antlr" name="com.springsource.org.antlr" rev="3.1.3" transitive="false" />
        <dependency org="org.codehaus.groovy" name="com.springsource.org.codehaus.groovy" rev="1.7.0" transitive="false" />
        <dependency name="jruby-complete" rev="1.1.6" />
        <dependency name="jython" rev="2.5" /> 
        <dependency org="org.mozilla.javascript" name="com.springsource.org.mozilla.javascript" rev="1.7.0.R2" transitive="false" />
        <dependency org="javax.xml.stream" name="com.springsource.javax.xml.stream" rev="1.0.1" transitive="false" />
        <dependency org="org.springframework" name="spring-context-support" rev="3.0.5.RELEASE" />

        <!-- Crypto -->
        <dependency name="bcprov-jdk16" rev="145" conf="java6->*" /> 

        <!-- MP3 -->
        <dependency name="jaudiotagger" rev="2.0.4-SNAPSHOT" />           

        <!-- Testing support -->
        <!-- until Eclipse updates their junit version, we have to use this -->
        <dependency org="org.junit" name="com.springsource.org.junit" rev="4.8.1" conf="eclipse->*" transitive="false" />
        <dependency name="GroboUtils" rev="5-core" conf="eclipse->*" />
        <dependency org="org.springframework" name="org.springframework.test" rev="3.0.5.RELEASE" conf="eclipse->*" transitive="false" />
        <dependency org="org.springframework" name="org.springframework.transaction" rev="3.0.5.RELEASE" conf="eclipse->*" transitive="false" />
    </dependencies>
</ivy-module>

Revised ivysettings.xml

<ivysettings>
    <settings defaultResolver="chain"/>
    <resolvers>
        <chain name="chain">
            <ibiblio name='central' m2compatible='true'/>
            <ibiblio name='springsource-external' m2compatible='true' root='http://repository.springsource.com/maven/bundles/external'/>
            <url name="googlecode">
                <artifact pattern="http://red5.googlecode.com/svn/repository/[artifact](-[revision]).[ext]" />
                <artifact pattern="http://red5.googlecode.com/svn/repository/[organisation]/[artifact](-[revision]).[ext]" />
            </url>
        </chain>
    </resolvers>
</ivysettings>

这篇关于忽略常春藤检索中的源 jar的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆