You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2018/07/13 04:37:04 UTC
[cxf-xjc-utils] branch master updated: [CXFXJC-27]ensure xjc plugin
can work with java11
This is an automated email from the ASF dual-hosted git repository.
ffang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf-xjc-utils.git
The following commit(s) were added to refs/heads/master by this push:
new e86382f [CXFXJC-27]ensure xjc plugin can work with java11
e86382f is described below
commit e86382fdf2615c8e801c847fae6c5e59acfae3d3
Author: Freeman Fang <fr...@gmail.com>
AuthorDate: Fri Jul 13 12:36:52 2018 +0800
[CXFXJC-27]ensure xjc plugin can work with java11
---
.../apache/cxf/maven_plugin/AbstractXSDToJavaMojo.java | 18 +++++++++---------
pom.xml | 12 ++++++++----
2 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/cxf-xjc-plugin/src/main/java/org/apache/cxf/maven_plugin/AbstractXSDToJavaMojo.java b/cxf-xjc-plugin/src/main/java/org/apache/cxf/maven_plugin/AbstractXSDToJavaMojo.java
index 75b580b..9e9b0dd 100644
--- a/cxf-xjc-plugin/src/main/java/org/apache/cxf/maven_plugin/AbstractXSDToJavaMojo.java
+++ b/cxf-xjc-plugin/src/main/java/org/apache/cxf/maven_plugin/AbstractXSDToJavaMojo.java
@@ -161,12 +161,9 @@ public abstract class AbstractXSDToJavaMojo extends AbstractMojo {
public void execute() throws MojoExecutionException {
if (isJava9Compatible()) {
fork = true;
- additionalJvmArgs = "--add-modules java.activation,java.xml.bind,java.xml.ws "
- + "--add-exports=java.xml.bind/com.sun.xml.internal.bind.v2.runtime=ALL-UNNAMED "
- + "--add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED "
+ additionalJvmArgs =
+ "--add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED "
+ "--add-exports=java.xml/com.sun.org.apache.xerces.internal.impl.xs=ALL-UNNAMED "
- + "--add-exports=java.xml.bind/com.sun.xml.internal.bind.marshaller=ALL-UNNAMED "
- + "--add-opens java.xml.ws/javax.xml.ws.wsaddressing=ALL-UNNAMED "
+ "--add-opens java.base/java.security=ALL-UNNAMED "
+ "--add-opens java.base/java.net=ALL-UNNAMED "
+ "--add-opens java.base/java.lang=ALL-UNNAMED "
@@ -349,12 +346,15 @@ public abstract class AbstractXSDToJavaMojo extends AbstractMojo {
}
protected boolean isJava9Compatible() {
- String version = System.getProperty("java.version");
- if (version.indexOf(".") > 0) {
- version = version.substring(0, version.indexOf("."));
+ String version = System.getProperty("java.specification.version");
+ int majorVersion;
+ if (version.contains(".")) { //before jdk 9
+ majorVersion = Integer.parseInt(version.split("\\.")[1]);
+ } else {
+ majorVersion = Integer.parseInt(version);
}
- return Integer.valueOf(version) >= 9;
+ return majorVersion >= 9;
}
private int run(XsdOption option, String xsdFile, String outputDir) throws Exception {
diff --git a/pom.xml b/pom.xml
index aea85a2..7827904 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,7 @@
<properties>
<cxf-buildtools-version>3.4.1</cxf-buildtools-version>
<jdk.version>1.8</jdk.version>
+ <jaxb-version>2.2.11</jaxb-version>
<eclipse.outputDirectory>${basedir}/target/classes</eclipse.outputDirectory>
<downloadSources>true</downloadSources>
@@ -94,17 +95,17 @@
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
- <version>2.2.11</version>
+ <version>${jaxb-version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
- <version>2.2.11</version>
+ <version>${jaxb-version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
- <version>2.2.11</version>
+ <version>${jaxb-version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
@@ -589,11 +590,14 @@
<activation>
<jdk>[9,)</jdk>
</activation>
+ <properties>
+ <jaxb-version>2.3.0</jaxb-version>
+ </properties>
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
- <version>2.3.0</version>
+ <version>${jaxb-version}</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>