Nevermind. I see you used reflection. I am not sure why I hadn’t thought of 
doing that. 

Ralph

> On Jun 26, 2019, at 1:08 PM, Ralph Goers <[email protected]> wrote:
> 
> How did you get around the compile problem in master?
> 
> Ralph
> 
>> On Jun 26, 2019, at 12:36 PM, Matt Sicker <[email protected]> wrote:
>> 
>> 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