繁体   English   中英

Apache常春藤。 JbossAS,依赖关系和有关常春藤的一些基本问题

[英]Apache ivy. JbossAS, dependencies and some basic questions on ivy

我是常春藤的新手,所以不要为基本问题而怪。

我正在研究依赖于jbossAS 4.0.3某些库的jbossAS 4.0.3 确切地说-有jboss-4.0.3-scheduler, jboss-4.0.3-jboss-systemjboss-4.0.3-jbossjboss-4.0.3-jbossall-client 所以我有一个合理的问题-如何指出常春藤在公共仓库中找到它们? 还是在这种情况下利用常春藤的错误方向?

还有一个简单的问题-例如,过去该项目依赖于castor-0.9.7axis-1.3log4j在常春藤依赖关系解析之后-我还有很多其他jar,例如activation-1.1.jaraxis-saaj-1.3.jarmail-1.4.jar等。 因此过去只有3个jar依赖项-现在我有10个。我真的需要它们吗?
怎样才能确定我需要这些额外的罐子呢? (所有项目都在使用旧配置-3个jar之后)。

还有,如果我有一些工件(依赖项目)怎么办。 其他项目依赖于此,但我不希望解决传递性依赖项。 那只是一个有趣的问题))

这就是我现在(从本地存储库中)提取依赖关系的方式,以及我想要的-从公共存储库中提取依赖关系(如果可能的话):

          <ivy-module version="2.2">
            <info organisation="org.btl" module="BtlAppServer" revision="1.7"/>
            <configurations defaultconfmapping="default">
             <conf name="compile" visibility="private"/>
             <conf name="test" extends="compile" visibility="private"/>
             <conf name="master" />
             <conf name="runtime" extends="compile" />
             <conf name="default" extends="master,runtime"/>
           </configurations>
           <publications>
            <artifact conf="master"/>
           </publications>
           <dependencies>
            <dependencies>
        <dependency org="jboss" name="jboss" rev="4.0.3" conf="*->default" />
        <dependency org="jboss" name="jbossall-client" rev="4.0.3"  
                      conf="*->default"/>
        <dependency org="jboss" name="jboss-system" rev="4.0.3" conf="*->default"/>
        <dependency org="jboss" name="scheduler-plugin" rev="4.0.3" 
                       conf="*->default"/>
        <dependency org="org.btl" name="BtlCommon" rev="latest.integration" />
    </dependencies>
 </ivy-module>

这些东西的结算文件:

    <ivysettings>
      <settings defaultResolver="myChain"/>
       <include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
      <include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
      <include url="${ivy.default.settings.dir}/ivysettings-local.xml"/>
      <include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/>
      <include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/>
      <resolvers>
        <chain name="myChain" returnFirst="true">
        <resolver ref="local"/>
        <!-- JBoss -->
         <ibiblio name="jboss-nexus" m2compatible="true"
              root="https://repository.jboss.org/nexus/content/groups/developer/"
              pattern="[organisation]/[module]/[revision]/[artifact]-[revision](- 
                 [classifier]).[ext]"/>
        <ibiblio name="ibiblio" m2compatible="true" />
       </chain>
      </resolvers>
       <modules>
        <module organisation='org.btl' resolver='local' />
       </modules>
    </ivysettings>

文件ivy.xml用于第二个问题:

 <ivy-module version="2.2">
  <info organisation="org.btl" module="BtlCommon" revision="1.7"/>
  <configurations defaultconfmapping="default">
    <conf name="compile" visibility="private"/>
    <conf name="test" extends="compile" visibility="private"/>
    <conf name="master" />
    <conf name="runtime" extends="compile" />
    <conf name="default" extends="master,runtime"/>
  </configurations>
  <publications>
    <!--get the artifact from our module name-->
    <artifact conf="master"/>
  </publications>

     <dependencies>
        <dependency org="axis" name="axis" rev="1.3" conf="*->default" />
        <dependency org="castor" name="castor" rev="0.9.7" conf="*->default" />
         <dependency org="log4j" name="log4j" rev="1.2.15"   conf="*->default" >
            <exclude org="com.sun.jdmk"/> 
            <exclude org="com.sun.jmx"/>
            <exclude org="javax.jms"/>
        </dependency>
    </dependencies>
 </ivy-module>

不知道这是否可以有所帮助)

额外的jar由传递依赖产生。 这些可能不是编译项目所需的,但在运行时需要。

是否实际需要它们取决于依赖关系本身以及您对库的使用情况。 例如,仅在需要发送邮件时才需要Mail.jar( Java Mail API )。

我认为,要真正确定您将不需要额外的库(将来吗?)会非常复杂。 如果现在确定在没有它们的情况下运行程序,则只需将transitive属性设置为依赖项即可。 并且它们将不会下载。

<dependency org="axis" name="axis" rev="1.3" conf="*->default" transitive="false"/>

我在java.net存储库中找到了revision="4.2.2.GA"的Jboss依赖revision="4.2.2.GA" 似乎是最佳选择。 但是我找不到调度程序。

ivysettings.xml

<ibiblio name="jboss-java.net" m2compatible="true"
              root="http://download.java.net/maven/2/"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM