You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Julian Reschke (JIRA)" <ji...@apache.org> on 2018/08/01 17:00:00 UTC

[jira] [Comment Edited] (SLING-7312) Java 9 requires javax.annotation to be added to the classpath

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

Julian Reschke edited comment on SLING-7312 at 8/1/18 4:59 PM:
---------------------------------------------------------------

The script is fairly agnostic about directory structure and does not rely on svn, so it might just work for you. If you want to run it on macos, make sure you have gawk installed.

It does:
 * rewrite Java code
 * rewrite POMs
 * tries to adjust version numbers

The code works fairly well with the Oak code base (no manual edits needed), but of course that doesn't mean it might break on other examples...


was (Author: reschke):
The script is fairly agnostic about directory structure and does not rely on svn, so it might just work for you. If you want to run it on macos, make sure you have gawk installed.

> Java 9 requires javax.annotation to be added to the classpath
> -------------------------------------------------------------
>
>                 Key: SLING-7312
>                 URL: https://issues.apache.org/jira/browse/SLING-7312
>             Project: Sling
>          Issue Type: Bug
>          Components: Launchpad
>            Reporter: Robert Munteanu
>            Priority: Major
>             Fix For: Starter 11
>
>
> When running on Java 9 post SLING-7186 startup fails due to the {{javax.annotation}} package no longer being exported by default, e.g.
> {noformat}org.osgi.framework.BundleException: Unable to resolve org.apache.sling.installer.core [2](R 2.0): missing requirement [org.apache.sling.installer.core [2](R 2.0)] osgi.wiring.package; (osgi.wiring.package=javax.annotation) Unresolved requirements: [[org.apache.sling.installer.core [2](R 2.0)] osgi.wiring.package; (osgi.wiring.package=javax.annotation)]
> 	at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4149)
> 	at org.apache.felix.framework.Felix.startBundle(Felix.java:2119)
> 	at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373)
> 	at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
> 	at java.base/java.lang.Thread.run(Thread.java:844){noformat}
> The interesting part here is that the {{javax.annotation}} classes that are required - for instance {{javax.annotation.CheckForNull}} are _not_ part of the JDK-provided {{javax.annotation}} package, they must come from another jar. In fact, we don't have that Jar deployed in the starter, but instead the JDK provides:
> {noformat}
> Generated.class
> PostConstruct.class
> PreDestroy.class
> Resource.class
> Resources.class
> {noformat}
> In a sense, this is very close to the root cause of SLING-7135 - solving one might solve both but the symptoms are very different so raising it separately.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)