### Problem description When using the `cxf-java2ws-plugin` from a Maven project using JDK 9+ (10 and 11 release candidate) on Windows 10, it fails to run because the generated command line is too long.
As an example, in one project I'm working on, the generated classpath was more than 75000 characters long – Yes, it is a big project. It works on JDK 8. `[ERROR] Failed to execute goal org.apache.cxf:cxf-java2ws-plugin:3.2.6:java2ws (EXECUTIONNAME) on project PROJECTNAME: Error while executing process.: Cannot run program "cmd.exe" (in directory "C:\opt\dev\..._PROJECTNAME_\target"): CreateProcess error=206, The filename or extension is too long -> [Help 1]` The current code base (3.3.0-SNAPSHOT) does not work at all with JDK 10 or 11. The problem is that the classpath is part of the command line and on Windows it seems to be limited to around 8000 characters. ### This commit includes: Fix for "CreateProcess error=206, The filename or extension is too long": - Added parameter `classpathAsEnvVar`, which is `false` by default, unless plugin is running in a Windows OS using JDK 9+, in which case it is activated automatically. This parameter controls if the CLASSPATH is applied via environment variable or as an argument to the command line that executes the java2ws tool. Cleaning up the JDK9+ JVM arguments code: - Single block for JDK 9, 10, 11 and up. - For JDK 11 and up the java.xml.ws module is skipped since it was moved out of the JDK. More verbose error reporting: - If command fails to execute, the reported message includes information about the command line, and the CLASSPATH environment variable if defined. Other fixes: - Fixed NPE when classifier is undefined. [ Full content available at: https://github.com/apache/cxf/pull/440 ] This message was relayed via gitbox.apache.org for [email protected]
