[hibernate-dev] Java 9: progress on compatibility

Gunnar Morling gunnar at hibernate.org
Mon Jun 13 02:34:44 EDT 2016


Hey,

I hit the same issue with the injection plug-in in HV.

It was used for obtaining the version of HV at runtime. I worked around it
by obtaining that from the package instead [1]:

    return SomeHvClass.class.getPackage().getImplementationVersion();

If that's all what the injection plug-in is used for in ORM as well (and
you don't depend on that version info e.g. during testing in the IDE, where
there is no JAR manifest yet which is the source of the version with that
approach), you could do the same there.

--Gunnar

[1]
https://github.com/hibernate/hibernate-validator/commit/8a0eb0bfbc7610ea6fc9962eef024a98c3f9468c#diff-963bab11ed76f80c4a804903ed66e03fR34


2016-06-12 22:18 GMT+02:00 Sanne Grinovero <sanne at hibernate.org>:

> Some more progress by simply setting this environment variable:
>
> GRADLE_OPTS="-XaddExports:java.security.sasl/com.sun.security.sasl.digest=ALL-UNNAMED
> -XaddExports:java.security.sasl/com.sun.security.sasl=ALL-UNNAMED
> -XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
> -XaddExports:jdk.unsupported/sun.reflect=ALL-UNNAMED -addmods
> java.xml.bind"
>
> But it's getting tricky:
>
> Caused by: compile error: javassist.NotFoundException: java.lang.String
>    at javassist.compiler.Javac.compileBody(Javac.java:229)
>    at javassist.CtBehavior.setBody(CtBehavior.java:438)
>    ... 76 more
>
> This seems to be caused by the following plugin, which I'm not familiar
> with:
>  -
> org.hibernate.build.gradle.inject.InjectionAction.execute(InjectionAction.java:62)
> Is this something which we could disable/skip/remove for now, or
> update to not require Javassist?
>
> Thanks,
> sanne
>
> On 12 June 2016 at 20:56, Sanne Grinovero <sanne at hibernate.org> wrote:
> > On 11 June 2016 at 18:47, Sanne Grinovero <sanne at hibernate.org> wrote:
> >> On 11 June 2016 at 18:25, Steve Ebersole <steve at hibernate.org> wrote:
> >>> The ORM failure seems to be a Gradle/JDK9 issue.  Any idea about that?
> >>
> >> Not sure, that's a new one :)
> >> It could be related to https://issues.gradle.org/browse/GRADLE-3287 ?
> >>
> >> Might be worth trying to upgrade to Gradle 2.12 .. I'm not at a
> >> terminal at the moment, I could try later.
> >
> > I've upgraded to Gradle 2.13, the pull request is here:
> >  - https://github.com/hibernate/hibernate-orm/pull/1417#
> >
> > It solved that specific issue, but it's not enough. I'm still trying
> > to hack a workaround for the next step, but in the meantime that PR
> > could be considered independently.
> >
> > I could use some pointers with Gradle and the custom plugins we use;
> > essentially we need to pass some additional JVM flags, including to
> > javac, like here:
> >  -
> https://github.com/hibernate/hibernate-orm/commit/5e6a8ea754e3c4c59925fe7f824092490efc008b
> >
> > But the failure happens during:
> >  Execution failed for task ':hibernate-core:xjc'
> >
> > and I'm not sure how to override the JVM flags for that plugin execution.
> >
> > Thanks,
> > Sanne
> >
> >
> >>
> >>>
> >>> On Fri, Jun 10, 2016, 4:39 PM Sanne Grinovero <sanne at hibernate.org>
> wrote:
> >>>>
> >>>> Hi all,
> >>>> please try to have a look at this page when you have a moment:
> >>>>  - http://ci.hibernate.org/view/JDK9/
> >>>>
> >>>> Hibernate Search is working, and it shouldn't be too hard to get the
> >>>> others "green" as well.
> >>>>
> >>>> I've disabled some integration tests to get there, notably:
> >>>>  - OSGi tests: Karaf is not ready for it.
> >>>>  - Documentation build: Asciidoc will probably need an update.
> >>>>  - WildFly integration tests: the WildFly team is aware, will need a
> >>>> minor upgrade.
> >>>>
> >>>> I don't believe these issues are relevant, so I'm satisfied that all
> >>>> other tests working fine mean that the project will pretty much work
> >>>> out of the box for end users - at worst their container won't work,
> >>>> but that's not our responsibility to test for.
> >>>>
> >>>> Could you all contribute a bit to get all projects show "green" on
> this
> >>>> page?
> >>>>
> >>>> Some "workarounds" you might want to apply:
> >>>>  - the Logger interfaces won't compile because of a known issue, this
> >>>> can be worked around for now by having the compilation phase also
> >>>> explicitly depend on this artifact:
> >>>>
> >>>>
> https://github.com/hibernate/hibernate-search/blob/master/pom.xml#L878-L883
> >>>>  - you'll have a ClassNotFoundException on JAXB usage unless you set
> >>>> this JVM flag:
> >>>>
> https://github.com/hibernate/hibernate-search/blob/master/pom.xml#L1429
> >>>> (This one is not a bug but will be required to be set by end users as
> >>>> well - or we provide our own XML parser, that might be more user
> >>>> friendly).
> >>>>
> >>>> As far as I know, other issues with the build tools have been solved
> >>>> already - including Gradle.
> >>>>
> >>>> Thanks,
> >>>> Sanne
> >>>> _______________________________________________
> >>>> hibernate-dev mailing list
> >>>> hibernate-dev at lists.jboss.org
> >>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>


More information about the hibernate-dev mailing list