Search code examples
antdependency-managementivyapache-tika

Ivy dependency: log4j-api downloaded but log4j-api-java9 not found


(I'm using jdk1.8.0_181)

I include a dependency for Apache Tika in my project as follows:

<dependency org="org.apache.tika" name="tika-parsers" rev="1.21"/>

However, when building, I get an error for one of Tika's dependencies. Specifically:

:: problems summary ::

:::: WARNINGS

module not found: org.apache.logging.log4j#log4j-api-java9;2.10.0

==== local: tried
C:\Users\Bob\.ivy2\local\org.apache.logging.log4j\log4j-api-java9\2.10.0\ivys\ivy.xml -- artifact org.apache.logging.log4j#log4j-api-java9;2.10.0!log4j-api-java9.zip:
C:\Users\Bob\.ivy2\local\org.apache.logging.log4j\log4j-api-java9\2.10.0\zips\log4j-api-java9.zip

==== shared: tried
C:\Users\Bob\.ivy2\shared\org.apache.logging.log4j\log4j-api-java9\2.10.0\ivys\ivy.xml -- artifact org.apache.logging.log4j#log4j-api-java9;2.10.0!log4j-api-java9.zip:
C:\Users\Bob\.ivy2\shared\org.apache.logging.log4j\log4j-api-java9\2.10.0\zips\log4j-api-java9.zip

==== public: tried
https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api-java9/2.10.0/log4j-api-java9-2.10.0.pom -- artifact org.apache.logging.log4j#log4j-api-java9;2.10.0!log4j-api-java9.zip:
https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api-java9/2.10.0/log4j-api-java9-2.10.0.zip

  ::::::::::::::::::::::::::::::::::::::::::::::      

:: UNRESOLVED DEPENDENCIES ::

  ::::::::::::::::::::::::::::::::::::::::::::::      

:: org.apache.logging.log4j#log4j-api-java9;2.10.0: not found

If I look at the log during the build, under "resolving dependencies", I see:

found org.apache.logging.log4j#log4j-api;2.10.0 in public

As you can see though, there is a discrepancy between the locations. One is in

log4j-api

and the other is in

log4f-api-java9

I think this is what's leading to the error, ivy is looking for the dependency in a folder that does not exist (log4j-api-java9). I'm not sure why it's looking there. How can I fix this?

This question appears to address a similar issue but it doesn't have an answer.

Would it be safe to simply exclude the log4j-api-java9 module?


Solution

  • I excluded the dependency from my build:

    log4j-api-java9

    (I'm not using Java 9 so I feel safe doing this).