As I read through this again it seems that perhaps the usage of Jackson could 
be specified as “requires static” so it is an optional dependency. However, I 
am getting the feeling that we are going to have a clash between log4j-api and 
log4j-core as log4j-api would export org.apache.logging.log4j which precludes 
log4j-core from exporting org.apache.logging.log4j.core.

I am also not clear on how log4j can create module-info files that reference 
other projects that haven’t yet created modules.

Ralph

> On Apr 21, 2017, at 12:40 PM, Ralph Goers <ralph.go...@dslextreme.com> wrote:
> 
> I have not started work on this yet, but from looking at 
> http://blog.joda.org/2017/04/java-9-modules-jpms-basics.html 
> <http://blog.joda.org/2017/04/java-9-modules-jpms-basics.html> it seems we 
> are going to have problems with a) plugins that are in different jars 
> (modules) that use the same namespace and b) log4j-core as it currently 
> exists. 
> 
> Item b is a problem because the module-info for log4j-core should have a 
> requires ONLY for log4j-api. For example, I’m not sure how we can have an 
> optional dependency on Jackson.
> 
> Item a is a problem if we create multiple jars (modules) for different 
> network components but try to place them all under 
> org.apache.logging.log4j.net <http://org.apache.logging.log4j.net/>.
> 
> Thoughts?
> 
> Ralph


Reply via email to