Repository: karaf Updated Branches: refs/heads/karaf-3.0.x 92f74a1df -> 1533ce483
[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/1533ce48 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/1533ce48 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/1533ce48 Branch: refs/heads/karaf-3.0.x Commit: 1533ce483472063e1198b33aa22c0ea61e57b262 Parents: 92f74a1 Author: Freeman Fang <[email protected]> Authored: Tue Sep 29 21:14:08 2015 +0800 Committer: Freeman Fang <[email protected]> Committed: Tue Sep 29 21:14:08 2015 +0800 ---------------------------------------------------------------------- .../karaf/tooling/features/InstallKarsMojo.java | 26 ++++++++++++-------- 1 file changed, 16 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/1533ce48/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 5b52253..089c77a 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 @@ -293,17 +293,23 @@ 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(); - 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(); + 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; } - 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:")) {
