I fixed that sun.reflect compile error in master, but didn't backport
it to release-2.x. There are still some other compile errors besides
if you compile with Java 11.

As for why you get different results when running rat with or without
the rat profile activated, it's because our rat config is different in
the rat profile compared to the default one. I think our config is
wrong there, and I typically rediscover that any time I do a release.

On Wed, 26 Jun 2019 at 13:15, Ralph Goers <[email protected]> wrote:
>
> I have wondered that for a long time. In fact, if you run “mvn compile” 
> followed by “mvn test” you will see
>
> [INFO] Changes detected - recompiling the module!
>
> So obviously something is there that tries to detect changes. It just doesn’t 
> seem to work.
>
> Ralph
>
>
>
>
> > On Jun 26, 2019, at 9:32 AM, Gary Gregory <[email protected]> wrote:
> >
> > On Wed, Jun 26, 2019 at 12:24 PM Ralph Goers <[email protected]>
> > wrote:
> >
> >> Those are mine as well.
> >>
> >> Unfortunately, if you use the toolchains plugin to specify the compiler
> >> version then all the tests are also going to run with that Java version.
> >> Since there is no getting around having sun.reflect.Reflection be used
> >> prior to Java 9 there is no way to use Java 11 to compile and test Log4j
> >> API.  That only leaves you with the option of creating a phony jar. But
> >> that will have problems too as it will probably be used by the unit tests.
> >>
> >> The only other option is to create a separate module for the unit tests.
> >>
> >
> > But why does Maven recompile when nothing has changed? That's the real
> > problem, I ran a first build on Java 8, then all I want to do is run the
> > tests on Java 11.
> >
> > Gary
> >
> >>
> >> Ralph
> >>
> >>> On Jun 26, 2019, at 9:00 AM, Gary Gregory <[email protected]>
> >> wrote:
> >>>
> >>> On Wed, Jun 26, 2019 at 11:02 AM Ralph Goers <[email protected]
> >>>
> >>> wrote:
> >>>
> >>>> I don’t run the build with Java 11, although I do have projects that use
> >>>> it that are on Java 11. It seems that log4j-api is failing when
> >> compiling
> >>>> with Java 11 because sun.reflect.Reflection was removed in Java 9.  I
> >> guess
> >>>> we need to modify the toolchains configuration to tell the main modules
> >> to
> >>>> use only Java 8 to compile.  The only other option would be to create a
> >> jar
> >>>> that has that class in it and specify it as a provided dependency.
> >>>>
> >>>
> >>> My goal is to be able to answer the question: "Do all the tests pass on
> >>> Java 11?"
> >>>
> >>> I am OK for this release with not being able to _build_ on Java 11 but I
> >>> certainly should be able to run all tests with a plain old 'mvn test'.
> >>>
> >>> FWIW, at work, our platform requirements are Java 8 and 11.
> >>>
> >>> Gary
> >>
> >>
>
>


-- 
Matt Sicker <[email protected]>

Reply via email to