我在使用 管理依赖于我的项目。

迄今为止,我已经指定一个依赖于休眠和servlet-api。然而,休眠罐子本身具有很大的依赖,是不是真的需要,例如 结束多国部队合照.

这将成为一个表明,塞因为个和jaac是太阳的图书馆和因此,他们的许可证,禁止将其放置在家repos,因此常春藤找不到他们那里。

  • 我怎么做藤下载休眠但不是这两个?
  • 作为奖励,如果我真的需要那些和下载他们的罐子从太阳在哪个文件夹,在我的机会常春藤找他们?
有帮助吗?

解决方案

我怎么做藤下载休眠但不是这两个?

藤这不会使用什么叫"的配置。" 你的 ivy.xml 代表休眠将需要提供不同的配置表示不同使用情况对于休眠状态。(显然有一些使用的休眠,并需要个和结束多国部队合照,但显然你不使用这种情况。)

在这里, 是的文件的配置。如果你想要提供的 ivy.xml 你是用于休眠,我可以提供的指针,对建设配置,将删除的具体的图书馆你想删除。

如果我真的需要那些和下载他们的罐子从太阳在哪个文件夹,在我的机会常春藤找他们?

"目录",常春藤看起来在为常春藤的文件和项目的指定的名单的解决程序所使用。该清单的解决程序被指定在常春藤设置文件(通常叫 ivysettings.xml.) 通常,这些都不是本地的目录,但是远程网址。没;然而,当地的文件解决程序的类型将工作。

如果你做这个,你会需要提供两个常春藤的文件和项目(罐),每个文件的名称匹配的冲突解决程序模式。详情在文件。

这里是一个例子当地文件的解决程序从一所常春藤设置文件:

<filesystem name="myfiles" checkconsistency="false" checksums="" transactional="false">
   <ivy pattern="/data/repo/[organisation]/[module]-[revision].ivy.xml"/>
   <artifact pattern="/data/repo/[organisation]/[module]-[revision].[ext]"/>
</filesystem>

还注意到,你将需要点你的常春藤的任务,以正确的冲突解决程序。你可以做到这一点与冲突解决程序的属性上的蚂蚁的任务,或 defaultResolver 属性 settings 元件在常春藤设置文件。

在这里, 是文件上的冲突解决程序.

编辑: 运发现了一个小时密集的解决办法对他的具体原来的问题。"排除"子标签的依赖标签做的工作对他说:

<dependencies>  
   <dependency org="org.hibernate" name="hibernate-core" rev="3.3.1.GA" conf='..'> 
       <exclude name='jaas' /> 
       <exclude name='jacc' />
   </dependency>
</dependencies>

其他提示

另一个选项的不下载任何依赖关系是禁止他们 transitive 属性。所以如果你想要的 hibernate-core, 但没有它的依赖关系,你可以这样做:

<dependencies>  
   <dependency org="org.hibernate" name="hibernate-core"
               rev="3.3.1.GA" conf='..'
               transitive="false" /> 
</dependencies>

浏览网页和博客,我找到了以下常春藤的设置工作在抓个/束多国部队合照和休眠

<ivysettings>

<settings defaultResolver="chained" checkUpToDate="true" />

<resolvers>
    <chain name="chained">
        <url name="com.springsource.repository.bundles.release">
            <ivy pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
            <artifact pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
        </url>

        <url name="com.springsource.repository.bundles.external">
            <ivy pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
            <artifact pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
        </url>

        <ibiblio name="ibiblio" m2compatible="true"/>

        <ibiblio name="jboss" root="http://repository.jboss.org/maven2/" m2compatible="true"/>

        <ibiblio name="java-net-maven1" root="http://download.java.net/maven/1" pattern="${java.net.maven.pattern}" m2compatible="false"/>

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

        <ibiblio name="compass" m2compatible="true" root="http://repo.compass-project.org" />

    </chain>

</resolvers>

该boss ibibilio解决程序是什么诀窍在抓个/JAAC

我ivy.xml 然后然后可以把它用

<ivy-module version="2.0">

<info organisation="foo" module="Bar"/>
<dependencies>

    <dependency org="com.h2database" name="h2" rev="1.2+"/>

    <dependency org="org.hibernate" name="hibernate-annotations" rev="3.4.0.GA"/>     

</dependencies>

来回答你的第二个子问题 从字面上, 没人迄今所做的,"在它的文件夹,在我的机会常春藤找瓶子?" 这有赖于此。假设你有没有改变的位置ivysettings.xml 或另一配置文件:对于个, 这将是:(用户家庭)/.ivy2/cache/内安全/个/罐子。如果艾维已成功试图找到个在家中或其他仓库,该目录树应该已经存在的大部分,而你所需要做的是创建"罐子"目录和地点 jaas-1.0.01.jar 在它。Ivy将不再抱怨说缺少依赖在其下一次的调用。

编辑: 然后又见下文的讨论中看到的考虑不要像这样做。

((用户家庭)是C:/Users/(用户名)在Windows7).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top