[ 
https://issues.apache.org/jira/browse/LANG-1365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16266263#comment-16266263
 ] 

Sanne Grinovero commented on LANG-1365:
---------------------------------------

Hi [~garydgregory]!

great question. Recent Maven versions require JDK7 but it seems that the 
Surefire plugin - more specifically - is being maintained with strict 
compatibility for JDK6; I don't know why. Personally I don't care: all of our 
projects are on Java 8, but we're using Maven to build and would need to find a 
way to get this fix in there as we can't currently test JDK10 prereleases.

I'm just trying to mediate what I suspect the Surefire maintainers will need; 
please see SUREFIRE-1439 : I reported the problem but didn't get a suggestion 
regarding a course of action.  I guess another alternative would be for 
Surefire to stop shading the Commons Lang library, so that people could 
override the version at runtime, but I guess that's likely to have side effects 
on many more users.

Another reasonable path would be to convince the Surefire team to drop Java 6 
support, but I suspect asking for a simple backport here would be easier.

> Fix NullPointerException in isJavaVersionAtLeast on Java 10, add 
> SystemUtils.IS_JAVA_10, add JavaVersion.JAVA_10
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: LANG-1365
>                 URL: https://issues.apache.org/jira/browse/LANG-1365
>             Project: Commons Lang
>          Issue Type: New Feature
>          Components: lang.*
>            Reporter: Gary Gregory
>            Priority: Trivial
>             Fix For: 3.7
>
>
> Now that Java 10 EA b29 is out, add {{SystemUtils.IS_JAVA_10}} and 
> {{JavaVersion.JAVA_10}}.
> Fix this NPE:
> {noformat}
> java.lang.NullPointerException
>       at 
> org.apache.commons.lang3.SystemUtils.isJavaVersionAtLeast(SystemUtils.java:1654)
>       at 
> org.apache.commons.lang3.SystemUtilsTest.testIsJavaVersionAtLeast(SystemUtilsTest.java:434)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>       at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown 
> Source)
>       at java.base/java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
>       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>       at 
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
>       at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:539)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:761)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:461)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:207)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to