While I understand the motivation behind making the system more modular, I
am having a bit of a problem understanding how to use it with existing 3rd
party APIs.  I saw the email thread with Alan and Stephen discussing how
there was a need to test some of the tools.

Over the last couple weeks, I have been testing various APIs, mostly within
Gradle.  While most of them work (as would be expected by any dev/user) a
couple did not work with JDK9.  After spending a few hours trying the
various suggestions (jdeps, -addmods, etc) I have not yet managed to get
any API to work that showed a module problem.  So far, my only resolution
has been to downgrade to JDK8, but that is obviously not the ideal solution.

I'd really like to understand how to troubleshoot it and fix it so that I
can help others with the transition.  So far, none of the suggestions I
have found work.

Neo4j fails due to internal Sun classes being used:
cannot access class sun.nio.ch.FileChannelImpl (in module java.base)
because module java.base does not export sun.nio.ch to unnamed module
@0x6166e06f

Dagger fails due to the @Generated:
NoClassDefFoundError: javax/annotation/Generated

For the Neo4j case, I assumed I may just be out of luck with the sun.*
classes, however as an end-user I thought there would be some way to
specify that I want all modules installed.  I could not figure out how to
do that.  I tried to use jdeps to figure out what to do, but it is not very
friendly with dynamically included transitive dependencies.

For the Dagger case, I know it is accepting the '-addmods' argument,
because it gives an error if I use '-J-addmods'.  I also know that it is
accepting "java.annotations.common" because if I change it to javax, it
gives an error.  But it still can't find the class.  I've also tried
ALL-SYSTEM and ALL-UNNAMED.


I know that eventually these modules will have to be updated to include
their module export definitions... but what can I do to fix it.  Better
yet, as an end-user, what can I do to just auto-resolve everything?


Malachi de Ælfweald
http://www.google.com/profiles/malachid

Reply via email to