There is no way Log4j would be doing anything that would cause log4j-1.2.17.jar 
to be included. Almost certainly one of your other dependencies is pulling it 
in as a transitive dependency. You shouldn’t need to declare log4j-api as 
log4j-core will cause it to be included as a transitive dependency. 

Beyond that I really can’t help as I don’t use Ivy.

Ralph


> On Jul 27, 2018, at 4:44 PM, Scott Neville <scot...@worldsofwar.co.uk> wrote:
> 
> Hi,
> 
> I am trying to add log4j2 to an existing project using Apache Ivy as the 
> dependancy management tool, I get some very interesting results.  Attached is 
> the ivy.xml file that is used (note there is no ivysettings.xml, it just uses 
> the standard ones that ivy ships with).
> 
> This should bring in the log4j2 core lib.  When you look at what this fetches 
> though you see it gets:
> 
> log4j-1.2.17.jar
> log4j-api-2.9.0-tests.jar
> log4j-core-2.9.0-tests.jar
> log4j-slf4j-impl-2.9.0.jar
> 
> So the question is why does it fetch log4j 1.2.17?  This is not required by 
> any other module as if I remove the log4j-core line the jar is not fetched.  
> Why are the test artifacts fetched but not the actual jars?
> 
> My second problem is as I understand I need to also get log4j2 API as this is 
> required for my application to be logging.  When the following line is added 
> in:
> 
> <dependency org="org.apache.logging.log4j" name="log4j-api" rev="2.9.0" />
> 
> You get the following error on all build enviroments:
> 
> [ivy:retrieve] :: problems summary ::
> [ivy:retrieve] :::: WARNINGS
> [ivy:retrieve]          module not found: 
> org.apache.logging.log4j#log4j-api-java9;2.9.0
> [ivy:retrieve]  ==== local: tried
> [ivy:retrieve]    
> /home/scott/.ivy2/local/org.apache.logging.log4j/log4j-api-java9/2.9.0/ivys/ivy.xml
> [ivy:retrieve]    -- artifact 
> org.apache.logging.log4j#log4j-api-java9;2.9.0!log4j-api-java9.zip:
> [ivy:retrieve]    
> /home/scott/.ivy2/local/org.apache.logging.log4j/log4j-api-java9/2.9.0/zips/log4j-api-java9.zip
> [ivy:retrieve]  ==== shared: tried
> [ivy:retrieve]    
> /home/scott/.ivy2/shared/org.apache.logging.log4j/log4j-api-java9/2.9.0/ivys/ivy.xml
> [ivy:retrieve]    -- artifact 
> org.apache.logging.log4j#log4j-api-java9;2.9.0!log4j-api-java9.zip:
> [ivy:retrieve]    
> /home/scott/.ivy2/shared/org.apache.logging.log4j/log4j-api-java9/2.9.0/zips/log4j-api-java9.zip
> [ivy:retrieve]  ==== public: tried
> [ivy:retrieve]    
> https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api-java9/2.9.0/log4j-api-java9-2.9.0.pom
> [ivy:retrieve]    -- artifact 
> org.apache.logging.log4j#log4j-api-java9;2.9.0!log4j-api-java9.zip:
> [ivy:retrieve]    
> https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api-java9/2.9.0/log4j-api-java9-2.9.0.zip
> [ivy:retrieve]          ::::::::::::::::::::::::::::::::::::::::::::::
> [ivy:retrieve]          ::          UNRESOLVED DEPENDENCIES         ::
> [ivy:retrieve]          ::::::::::::::::::::::::::::::::::::::::::::::
> [ivy:retrieve]          :: org.apache.logging.log4j#log4j-api-java9;2.9.0: 
> not found
> [ivy:retrieve]          ::::::::::::::::::::::::::::::::::::::::::::::
> [ivy:retrieve]
> [ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
> 
> 
> This is built using Java 1.8 (rather than Java 9):
> 
> java -version
> java version "1.8.0_101"
> Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
> Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
> 
> 
> Why does this now require a module that does not exist?  How do I get round 
> the fact it has a dependancy that does not exist?  I have tried this on two 
> different setups (both java 1.8 with different update versions) and on both 
> setups you get the same error (one is Windows the other Linux), so I dont 
> believe this is an enviromental problem with the build enviroment.
> 
> Any help would be most apprciated.
> 
> Many thanks.
> 
> Scott
> <ivy.xml>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org

Reply via email to