Hi Remi,

with:
compileJava {
    options.compilerArgs += [
        "-addmods", "java.se.ee"
    ]
}

It still says it can not find javax/annotation/Generated
I'm on build 9-ea+123




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

On Tue, Jul 5, 2016 at 1:02 AM, Remi Forax <fo...@univ-mlv.fr> wrote:

> ----- Mail original -----
> > De: "Malachi de Ælfweald" <malac...@gmail.com>
> > À: jigsaw-dev@openjdk.java.net
> > Envoyé: Mardi 5 Juillet 2016 09:00:22
> > Objet: JDK9 Modules
> >
> > 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
> >
>
> Hi Malachi,
> javax.annotation package is in a module which is not a boot module anymore,
> (because this package is defined both by the java se spec and the java ee
> spec and jigsaw doesn't allow split package)
> you should use "-addmods java.se.ee", see JEP 261 [1] (you can look for
> java.se.ee in the text)
>
> cheers,
> Rémi
>
> [1] http://openjdk.java.net/jeps/261
>
>
>

Reply via email to