Fix tests on windows in non-forked mode.
diff --git a/cxf-xjc-plugin/src/main/java/org/apache/cxf/maven_plugin/XSDToJavaRunner.java b/cxf-xjc-plugin/src/main/java/org/apache/cxf/maven_plugin/XSDToJavaRunner.java
index 69fab41..f0c8838 100644
--- a/cxf-xjc-plugin/src/main/java/org/apache/cxf/maven_plugin/XSDToJavaRunner.java
+++ b/cxf-xjc-plugin/src/main/java/org/apache/cxf/maven_plugin/XSDToJavaRunner.java
@@ -104,6 +104,17 @@
urls.add(file.toURI().toURL());
}
}
+ for (int x = 0; x < args.length; x++) {
+ if ("-classpath".equals(args[x])) {
+ File file = getFile(args[x + 1], listener);
+ if (file != null && file.exists()) {
+ cpList.add(file.getAbsolutePath());
+ urls.add(file.getAbsoluteFile().toURI().toURL());
+ }
+ x++;
+ }
+ }
+
final ClassLoader loader = new URLClassLoader(urls.toArray(new URL[urls.size()]),
this.getClass().getClassLoader());
@@ -147,6 +158,9 @@
catResolver.getCatalog().parseCatalog(catalogFile.getPath());
}
};
+ for (URL url : urls) {
+ opt.classpaths.add(url);
+ }
if (checkXmlElementRef()) {
opt.target = SpecVersion.V2_1;
}
@@ -345,17 +359,6 @@
XJCErrorListener listener = new XJCErrorListener(context);
List<String> cplist = new ArrayList<String>();
- for (int x = 0; x < args.length; x++) {
- if ("-classpath".equals(args[x])) {
- cplist.add(args[x + 1]);
- File file = getFile(args[x + 1], listener);
- if (file != null && file.exists()) {
- args[x + 1] = file.getAbsolutePath();
- }
- x++;
- }
- }
-
File outputFile = getFile(args[args.length - 1], listener);
if (outputFile == null) {