Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ivy not installing some JARs

I'm using Ivy for project dependency management and it's been working well aside from one issue which I've always had. There are certain dependencies that Ivy is downloading but it's not installing them into my project. For example, log4j.jar is not being put in the project's lib folder even though it's listed as a dependency and is being downloaded successfully. Here's the output from my resolve:

ivy-resolve:
[ivy:configure] :: Ivy 2.2.0 - 20100923230623 :: http://ant.apache.org/ivy/ ::
[ivy:configure] :: loading settings :: file = C:\...\...\...\...\ivysettings.xml
 [ivy:resolve] :: resolving dependencies :: com.gdi#gdi-core;0.0.1.SNAPSHOT
 [ivy:resolve]  confs: [default]
 [ivy:resolve]  found org.apache.axis#axis;1.4 in archiva.internal
 [ivy:resolve]  found org.apache.axis#axis-jaxrpc;1.4 in archiva.internal
 [ivy:resolve]  found org.apache.axis#axis-saaj;1.4 in archiva.internal
 [ivy:resolve]  found wsdl4j#wsdl4j;1.6.2 in archiva.internal
 [ivy:resolve]  found org.slf4j#slf4j-log4j12;1.6.1 in archiva.internal
 [ivy:resolve]  found org.slf4j#slf4j-api;1.6.1 in archiva.internal
 [ivy:resolve]  found log4j#log4j;1.2.16 in archiva.internal
 [ivy:resolve]  found log4j#apache-log4j-extras;1.1 in archiva.internal
 [ivy:resolve]  found org.apache.commons#commons-email;1.1 in archiva.internal
 [ivy:resolve]  found javax.mail#mail;1.4 in archiva.internal
 [ivy:resolve]  found javax.activation#activation;1.1 in archiva.internal
 [ivy:resolve]  found commons-discovery#commons-discovery;0.4 in archiva.internal
 [ivy:resolve]  found commons-logging#commons-logging;1.1 in archiva.internal
 [ivy:resolve]  found logkit#logkit;1.0.1 in archiva.internal
 [ivy:resolve]  found avalon-framework#avalon-framework;4.1.3 in archiva.internal
 [ivy:resolve]  found org.hibernate#hibernate-core;3.6.3.Final in archiva.internal
 [ivy:resolve]  found antlr#antlr;2.7.6 in archiva.internal
 [ivy:resolve]  found commons-collections#commons-collections;3.1 in archiva.internal
 [ivy:resolve]  found dom4j#dom4j;1.6.1 in archiva.internal
 [ivy:resolve]  found org.hibernate#hibernate-commons-annotations;3.2.0.Final in archiva.internal
 [ivy:resolve]  found org.hibernate.javax.persistence#hibernate-jpa-2.0-api;1.0.0.Final in archiva.internal
 [ivy:resolve]  found javax.transaction#jta;1.1 in archiva.internal
 [ivy:resolve]  found javax.validation#validation-api;1.0.0.GA in archiva.internal
 [ivy:resolve]  found ant#ant;1.6.5 in archiva.internal
 [ivy:resolve]  found javassist#javassist;3.12.0.GA in archiva.internal
 [ivy:resolve]  found cglib#cglib;2.2 in archiva.internal
 [ivy:resolve]  found asm#asm;3.1 in archiva.internal
 [ivy:resolve]  found org.hibernate#hibernate-validator;4.1.0 in archiva.internal
 [ivy:resolve]  found org.hibernate#hibernate-ehcache;3.6.3.Final in archiva.internal
 [ivy:resolve]  found net.sf.ehcache#ehcache-core;2.4.1 in archiva.internal
 [ivy:resolve]  found org.hibernate#hibernate-entitymanager;3.6.3.Final in archiva.internal
 [ivy:resolve]  found org.hibernate#hibernate-search;3.4.0.Final in archiva.internal
 [ivy:resolve]  found org.hibernate#hibernate-search-analyzers;3.4.0.Final in archiva.internal
 [ivy:resolve]  found org.apache.lucene#lucene-core;3.1.0 in archiva.internal
 [ivy:resolve]  found org.apache.lucene#lucene-analyzers;3.1.0 in archiva.internal
 [ivy:resolve]  found org.apache.solr#solr-analysis-extras;3.1.0 in archiva.internal
 [ivy:resolve]  found org.apache.solr#solr-core;3.1.0 in archiva.internal
 [ivy:resolve]  found org.apache.solr#solr-solrj;3.1.0 in archiva.internal
 [ivy:resolve]  found commons-io#commons-io;1.4 in archiva.internal
 [ivy:resolve]  found org.apache.lucene#lucene-highlighter;3.1.0 in archiva.internal
 [ivy:resolve]  found org.apache.lucene#lucene-memory;3.1.0 in archiva.internal
 [ivy:resolve]  found org.apache.lucene#lucene-misc;3.1.0 in archiva.internal
 [ivy:resolve]  found org.apache.lucene#lucene-spatial;3.1.0 in archiva.internal
 [ivy:resolve]  found org.apache.lucene#lucene-spellchecker;3.1.0 in archiva.internal
 [ivy:resolve]  found org.apache.solr#solr-commons-csv;3.1.0 in archiva.internal
 [ivy:resolve]  found commons-codec#commons-codec;1.4 in archiva.internal
 [ivy:resolve]  found commons-lang#commons-lang;2.4 in archiva.internal
 [ivy:resolve]  found org.apache.lucene#lucene-smartcn;3.1.0 in archiva.internal
 [ivy:resolve]  found org.apache.lucene#lucene-stempel;3.1.0 in archiva.internal
 [ivy:resolve]  found javax.jms#jms;1.1 in archiva.internal
 [ivy:resolve]  found javax.annotation#jsr250-api;1.0 in archiva.internal
 [ivy:resolve]  found org.hibernate#hibernate-search-infinispan;3.4.0.Final in archiva.internal
 [ivy:resolve]  found org.infinispan#infinispan-lucene-directory;4.2.1.FINAL in archiva.internal
 [ivy:resolve]  found org.infinispan#infinispan-core;4.2.1.FINAL in archiva.internal
 [ivy:resolve]  found org.jgroups#jgroups;2.12.0.Final in archiva.internal
 [ivy:resolve]  found org.jboss.javaee#jboss-transaction-api;1.0.1.GA in archiva.internal
 [ivy:resolve]  found org.jboss.marshalling#river;1.2.3.GA in archiva.internal
 [ivy:resolve]  found org.jboss.marshalling#marshalling-api;1.2.3.GA in archiva.internal
 [ivy:resolve]  found org.rhq.helpers#rhq-pluginAnnotations;3.0.1 in archiva.internal
 [ivy:resolve]  found i18nlog#i18nlog;1.0.10 in archiva.internal
 [ivy:resolve]  found org.hibernate#hibernate-c3p0;3.6.3.Final in archiva.internal
 [ivy:resolve]  found c3p0#c3p0;0.9.1 in archiva.internal
 [ivy:resolve]  found org.apache.lucene#lucene-queries;3.1.0 in archiva.internal
 [ivy:resolve]  found jakarta-regexp#jakarta-regexp;1.4 in archiva.internal
 [ivy:resolve]  found postgresql#postgresql;9.0-801.jdbc4 in archiva.internal
 [ivy:resolve]  found org.drools#drools-jsr94;5.1.1 in archiva.internal
 [ivy:resolve]  found org.drools#drools-core;5.1.1 in archiva.internal
 [ivy:resolve]  found org.mvel#mvel2;2.0.16 in archiva.internal
 [ivy:resolve]  found org.drools#drools-api;5.1.1 in archiva.internal
 [ivy:resolve]  found org.drools#drools-compiler;5.1.1 in archiva.internal
 [ivy:resolve]  found org.antlr#antlr-runtime;3.1.3 in archiva.internal
 [ivy:resolve]  found org.eclipse.jdt.core.compiler#ecj;3.5.1 in archiva.internal
 [ivy:resolve]  found org.drools#drools-decisiontables;5.1.1 in archiva.internal
 [ivy:resolve]  found org.drools#drools-templates;5.1.1 in archiva.internal
 [ivy:resolve]  found net.sourceforge.jexcelapi#jxl;2.6.10 in archiva.internal
 [ivy:resolve]  found jsr94#jsr94;1.1 in archiva.internal
 [ivy:resolve]  found javax.xml.bind#jaxb-api;2.2.1 in archiva.internal
 [ivy:resolve]  found javax.xml.stream#stax-api;1.0-2 in archiva.internal
 [ivy:resolve] :: resolution report :: resolve 3414ms :: artifacts dl 98ms
 [ivy:resolve]  :: evicted modules:
 [ivy:resolve]  commons-logging#commons-logging;1.0.4 by [commons-logging#commons-logging;1.1] in [default]
 [ivy:resolve]  log4j#log4j;1.2.12 by [log4j#log4j;1.2.16] in [default]
 [ivy:resolve]  org.slf4j#slf4j-api;1.5.5 by [org.slf4j#slf4j-api;1.6.1] in [default]
 [ivy:resolve]  log4j#log4j;1.2.14 by [log4j#log4j;1.2.16] in [default]
    ---------------------------------------------------------------------
    |                  |            modules            ||   artifacts   |
    |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
    ---------------------------------------------------------------------
    |      default     |   82  |   0   |   0   |   4   ||  101  |   0   |
    ---------------------------------------------------------------------
[ivy:retrieve] :: retrieving :: com.gdi#gdi-core [sync]
[ivy:retrieve]  confs: [default]
[ivy:retrieve]  0 artifacts copied, 73 already retrieved (0kB/45ms)
BUILD SUCCESSFUL
Total time: 5 seconds

The files log4j.jar, infinispan-core-4.2.1.FINAL.jar, and apache-log4j-extras-1.1 are not added to my lib directory like the others and I have to add them manually. Not sure what's causing this or how to fix it. Any help would be appreciated.

Here's the ivy.xml file with the dependencies. Log4j is a dependency of slf4j-log4j12 and infinispan is a dependency of hibernate-search-infinispan. log4j extras is a dependency of my project.

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module
   version="2.0"
   xmlns:m="http://ant.apache.org/ivy/maven"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
   <info
      organisation="com.gdi"
      module="gdi-core"
      revision="0.0.1.SNAPSHOT" />
   <dependencies>
      <dependency
         org="org.apache.axis"
         name="axis"
         rev="1.4" />
      <dependency
         org="org.apache.axis"
         name="axis-jaxrpc"
         rev="1.4" />
      <dependency
         org="org.apache.axis"
         name="axis-saaj"
         rev="1.4" />
      <dependency
         org="wsdl4j"
         name="wsdl4j"
         rev="1.6.2" />
      <dependency
         org="org.slf4j"
         name="slf4j-log4j12"
         rev="1.6.1" />
      <dependency
         org="log4j"
         name="apache-log4j-extras"
         rev="1.1" />
      <dependency
         org="org.apache.commons"
         name="commons-email"
         rev="1.1" />
      <dependency
         org="commons-discovery"
         name="commons-discovery"
         rev="0.4">
         <exclude
            module="servlet-api" />
      </dependency>
      <dependency
         org="commons-logging"
         name="commons-logging"
         rev="1.1">
         <exclude
            module="servlet-api" />
      </dependency>
      <dependency
         org="org.hibernate"
         name="hibernate-core"
         rev="3.6.3.Final">
         <exclude
            module="jboss-jacc-api_JDK4" />
      </dependency>
      <dependency
         org="org.hibernate"
         name="hibernate-validator"
         rev="4.1.0" />
      <dependency
         org="org.hibernate"
         name="hibernate-ehcache"
         rev="3.6.3.Final" />
      <dependency
         org="org.hibernate"
         name="hibernate-entitymanager"
         rev="3.6.3.Final" />
      <dependency
         org="org.hibernate"
         name="hibernate-search"
         rev="3.4.0.Final">
         <exclude
            module="jgroups" />
      </dependency>
      <dependency
         org="org.hibernate"
         name="hibernate-search-infinispan"
         rev="3.4.0.Final" />
      <dependency
         org="org.hibernate"
         name="hibernate-c3p0"
         rev="3.6.3.Final" />
      <dependency
         org="org.hibernate"
         name="hibernate-commons-annotations"
         rev="3.2.0.Final" />
      <dependency
         org="org.apache.lucene"
         name="lucene-queries"
         rev="3.1.0" />
      <dependency
         org="postgresql"
         name="postgresql"
         rev="9.0-801.jdbc4" />
      <dependency
         org="org.drools"
         name="drools-jsr94"
         rev="5.1.1" />
   </dependencies>
</ivy-module>

Update:

Seems like the libraries not being downloaded are "Bundles" ...

 [ivy:resolve]  [NOT REQUIRED] org.slf4j#slf4j-api;1.6.1!slf4j-api.jar
 [ivy:resolve]  [NOT REQUIRED] log4j#log4j;1.2.16!log4j.jar(bundle)
 [ivy:resolve]  [NOT REQUIRED] javax.mail#mail;1.4!mail.jar
like image 799
Mouscellaneous Avatar asked Jun 02 '11 18:06

Mouscellaneous


People also ask

How can you tell if Ivy is installed?

If you use ant 1.6. 0 or superior, you can then simply go to the src/example/hello-ivy dir and run ant: if the build is successful, you have successfully installed Ivy! You can now run the build, if it is successful, you have successfully installed Ivy!

What is ivy dependency management?

Ivy is a dependency manager -- it manages and controls the JAR files that your project depends on. If you don't have the JARs, it will pull them down for you by default (from the Maven 2 repository), which can make project setup a lot easier.

What is ivysettings?

The Ivy settings file: ivysettings. xml is used to configure resolution and deployment of artifacts using repositories in Artifactory. The Ivy modules file: ivy. xml is where the project's modules and dependencies are declared.


2 Answers

Found the issue. The problem was that the missing dependencies were "bundle" and my ant script was set to only install "jar" ...

<ivy:retrieve pattern="${ivy.lib.dir}/[artifact].[revision].[ext]"
                type="jar"
                sync="true" />

Fixed version:

<ivy:retrieve pattern="${ivy.lib.dir}/[artifact].[revision].[ext]"
                type="jar,bundle"
                sync="true" />
like image 94
Mouscellaneous Avatar answered Oct 26 '22 08:10

Mouscellaneous


Try setting the left side of conf mapping to default. For example conf="runtime->default" That resolved my issue.

Edit: This can be found in ivy.xml, in the <dependency> tag. For eg:

<dependencies>
    <dependency conf="runtime->default" name="jsf-api" org="com.sun.faces" rev="2.2.13"/>   
</dependencies>

The part ->default is the key.

like image 35
Peter Lamberg Avatar answered Oct 26 '22 08:10

Peter Lamberg