Repository: karaf Updated Branches: refs/heads/karaf-3.0.x 1533ce483 -> d84d8703f
[KARAF-3611]avoid the java.lang.Error: factory already defined Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/d84d8703 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/d84d8703 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/d84d8703 Branch: refs/heads/karaf-3.0.x Commit: d84d8703f4b2cbc036f7d4d01a6cc42ca19469d6 Parents: 1533ce4 Author: Freeman Fang <[email protected]> Authored: Tue Sep 29 21:45:58 2015 +0800 Committer: Freeman Fang <[email protected]> Committed: Tue Sep 29 21:45:58 2015 +0800 ---------------------------------------------------------------------- .../karaf/tooling/features/InstallKarsMojo.java | 32 +++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/d84d8703/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java ---------------------------------------------------------------------- diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java index 089c77a..0b30f28 100644 --- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java +++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java @@ -52,6 +52,19 @@ import org.apache.maven.plugin.MojoFailureException; * @description Install kar dependencies */ public class InstallKarsMojo extends MojoSupport { + static { + URL.setURLStreamHandlerFactory(new URLStreamHandlerFactory() { + public URLStreamHandler createURLStreamHandler(String protocol) { + if ("wrap".equals(protocol)) { + return new org.ops4j.pax.url.wrap.Handler(); + } + if ("mvn".equals(protocol)) { + return new org.ops4j.pax.url.mvn.Handler(); + } + return null; + } + }); + } private static String GENERATED_BUNDLE_FOLDER = "generated"; @@ -293,24 +306,7 @@ public class InstallKarsMojo extends MojoSupport { // install bundles defined in startup.properties getLog().info("Installing bundles defined in startup.properties in the system"); Set<?> startupBundles = startupProperties.keySet(); - try { - URL.setURLStreamHandlerFactory(new URLStreamHandlerFactory() { - public URLStreamHandler createURLStreamHandler(String protocol) { - if ("wrap".equals(protocol)) { - return new org.ops4j.pax.url.wrap.Handler(); - } - if ("mvn".equals(protocol)) { - return new org.ops4j.pax.url.mvn.Handler(); - } - return null; - } - }); - } catch (Error er) { - if (!er.getMessage().equals("factory already defined")) { - throw new MojoExecutionException("can't set customer URLStreamHandlerFactory", er); - } - } - + for (Object startupBundle : startupBundles) { if (((String)startupBundle).startsWith("wrap:")) { try {
