[
https://issues.apache.org/jira/browse/LUCENE-7727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15898945#comment-15898945
]
Uwe Schindler commented on LUCENE-7727:
---------------------------------------
In my other projects using Ivy I have a version check on bootup of ant. Maybe
we should do this, too, and print useful error message. The problem is that ANT
does not have a version comparator (it only has {{<antversion>}}). So I print a
warning in my projects if version is different that the expected.
Java 9 won't bring changes to classpath. With Jigsaw modules all is better, as
every modular jar has to define which packages it "exports". But for that we
have to make modules out of Lucene and all dependencies (auto-modules may
help). But this would also require to refactor Lucene and Solr to never use and
export the same package name in different JARs.
> Replace EOL'ed pegdown by flexmark-java for Java 9 compatibility
> ----------------------------------------------------------------
>
> Key: LUCENE-7727
> URL: https://issues.apache.org/jira/browse/LUCENE-7727
> Project: Lucene - Core
> Issue Type: Improvement
> Components: general/build
> Reporter: Uwe Schindler
> Assignee: Uwe Schindler
> Labels: Java9
> Fix For: master (7.0), 6.5
>
> Attachments: LUCENE-7727.patch, LUCENE-7727.patch
>
>
> The documentation tasks use a library called "pegdown" to convert Markdown to
> HTML. Unfortunately, the developer of pegdown EOLed it and points the users
> to a faster replacement: flexmark-java
> (https://github.com/vsch/flexmark-java).
> This would not be important for us, if pegdown would work with Java 9, but it
> is also affected by the usual "setAccessible into private Java APIs" issue
> (see my talk at FOSDEM:
> https://fosdem.org/2017/schedule/event/jigsaw_challenges/).
> The migration should not be too hard, its just a bit of Groovy Code rewriting
> and dependency changes.
> This is the pegdown problem:
> {noformat}
> Caused by: java.lang.RuntimeException: Could not determine whether class
> 'org.pegdown.Parser$$parboiled' has already been loaded
> at org.parboiled.transform.AsmUtils.findLoadedClass(AsmUtils.java:213)
> at
> org.parboiled.transform.ParserTransformer.transformParser(ParserTransformer.java:35)
> at org.parboiled.Parboiled.createParser(Parboiled.java:54)
> ... 50 more
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make
> protected final java.lang.Class
> java.lang.ClassLoader.findLoadedClass(java.lang.String) accessible: module
> java.base does not "opens java.lang" to unnamed module @551b6736
> at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:335)
> at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:278)
> at
> java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:196)
> at java.base/java.lang.reflect.Method.setAccessible(Method.java:190)
> at org.parboiled.transform.AsmUtils.findLoadedClass(AsmUtils.java:206)
> ... 52 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]