aboutsummaryrefslogtreecommitdiffstats
path: root/jdisc_core
diff options
context:
space:
mode:
authorgjoranv <gv@oath.com>2018-06-15 10:41:21 +0200
committergjoranv <gv@oath.com>2018-06-27 00:16:01 +0200
commit30f7c56a8ee10a8702e9c1d2a69ed428bf064d47 (patch)
tree383c455413569e1cb3ea5a3964781ef12932ff0a /jdisc_core
parent455576f9cb3377beb1d88bbc60fe66d25e426a7a (diff)
Java 9: Add dependencies and exports needed for jaxb support.
* Upgrade jaxb-api to 2.3.0 (packaged as osgi bundle) => our (and customer) bundles may now import this version instead of the Java_SE one. (Exposed via the container dependency.) * Add TODO to remove org.w3c.dom.* packages from ExportPackages. * Remove explicit org.w3c.dom from ExportPackages (It was doubly present also with Java 8.)
Diffstat (limited to 'jdisc_core')
-rw-r--r--jdisc_core/pom.xml13
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/ExportPackages.java11
2 files changed, 18 insertions, 6 deletions
diff --git a/jdisc_core/pom.xml b/jdisc_core/pom.xml
index 246265203cb..6b22aa4a985 100644
--- a/jdisc_core/pom.xml
+++ b/jdisc_core/pom.xml
@@ -16,6 +16,17 @@
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<dependencies>
+ <!-- Necessary for jaxb support from java 9. (Could be deployed as bundles since 2.2.11.) -->
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.activation</groupId>
+ <artifactId>javax.activation</artifactId>
+ </dependency>
+ <!-- jaxb end -->
+
<dependency>
<!-- Newer version than the one in rt.jar, including the ElementTraversal class needed by Xerces (Aug 2015, still valid Sep 2017) -->
<groupId>xml-apis</groupId>
@@ -228,6 +239,8 @@
<argument>${project.build.directory}/dependency/log4j-over-slf4j.jar</argument>
<argument>${project.build.directory}/dependency/config-lib.jar</argument>
<argument>${project.build.directory}/dependency/yolean.jar</argument>
+ <argument>${project.build.directory}/dependency/jaxb-api.jar</argument>
+ <argument>${project.build.directory}/dependency/javax.activation.jar</argument>
</arguments>
</configuration>
</execution>
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ExportPackages.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ExportPackages.java
index 8da1a4fad99..86ab016bded 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ExportPackages.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ExportPackages.java
@@ -38,9 +38,11 @@ public class ExportPackages {
.append("javax.inject;version=1.0.0,") // Included in guice, but not exported. Needed by container-jersey.
.append("org.aopalliance.intercept,")
.append("org.aopalliance.aop,")
+ .append("sun.misc,")
+ .append("sun.net.util,")
+ .append("sun.security.krb5,")
- // xml-apis:xml-apis:1.4.01 is not a bundle
- .append("org.w3c.dom,")
+ // TODO: remove for Vespa 7 (xml-apis:xml-apis:1.4.01 is not a bundle, but exposed from system classpath on Java 9)
.append("org.w3c.dom.bootstrap,")
.append("org.w3c.dom.css,")
.append("org.w3c.dom.events,")
@@ -49,11 +51,8 @@ public class ExportPackages {
.append("org.w3c.dom.ranges,")
.append("org.w3c.dom.stylesheets,")
.append("org.w3c.dom.traversal,")
- .append("org.w3c.dom.views,")
+ .append("org.w3c.dom.views");
- .append("sun.misc,")
- .append("sun.net.util,")
- .append("sun.security.krb5");
for (int i = 1; i < args.length; ++i) {
out.append(",").append(getExportedPackages(args[i]));
}