[ 
https://issues.apache.org/jira/browse/MJAVADOC-488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Scholte closed MJAVADOC-488.
-----------------------------------
    Resolution: Duplicate
      Assignee: Robert Scholte

Closing as duplicate of MJAVADOC-485

> Latest jdk9 version causes StringIndexOutOfBoundsException
> ----------------------------------------------------------
>
>                 Key: MJAVADOC-488
>                 URL: https://issues.apache.org/jira/browse/MJAVADOC-488
>             Project: Maven Javadoc Plugin
>          Issue Type: Bug
>    Affects Versions: 2.10.4
>            Reporter: Andrew Dinn
>            Assignee: Robert Scholte
>
> The latest jdk9 releases (9+176) from the Oracle early access program omits 
> the -ea suffix which was present in previous releases (e.g. 9-ea+170). This 
> is causing the javadoc plugin to throw a StringIndexOutOfBoundsException 
> under org.apache.commons.lang.SystemUtils.<clinit>(). Here is the relevant 
> exception backtrace:
> {code:java}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar (javadoc-jar) on 
> project byteman-root: Execution javadoc-jar of goal 
> org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar failed: An API 
> incompatibility was encountered while executing 
> org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar: 
> java.lang.ExceptionInInitializerError: null
> [WARNING] Error injecting: org.apache.maven.plugin.javadoc.JavadocJar
> java.lang.ExceptionInInitializerError
>         at 
> org.apache.maven.plugin.javadoc.AbstractJavadocMojo.<clinit>(AbstractJavadocMojo.java:195)
>         at 
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>  Method)
>         at 
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>         . . .
>         at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>         at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
>         at 
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
>         at 
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> Caused by: java.lang.StringIndexOutOfBoundsException: begin 0, end 3, length 1
>         at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3116)
>         at java.base/java.lang.String.substring(String.java:1885)
>         at 
> org.apache.commons.lang.SystemUtils.getJavaVersionAsFloat(SystemUtils.java:1133)
>         at org.apache.commons.lang.SystemUtils.<clinit>(SystemUtils.java:818)
>         ... 58 more
> {code}
> After stripping the +nnn suffix SystemUtils assumes it has at least 3 
> characters to play with (looking at the line number 1133 for the substring 
> call this appears to be version 2.4 that is being linked). It seems that this 
> worked by fluke when the string contained the "-ea" suffix but it is now 
> thoroughly borked. Perhaps an upgrade to 2.6 might work?



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

Reply via email to