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 <freeman.f...@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>

Reply via email to