X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.jshell%2Fsrc%2Forg%2Fargeo%2Finternal%2Fcms%2Fjshell%2Fosgi%2FOsgiExecutionControlProvider.java;h=9ebf97ed07be957c25203e409a9272986a9badf5;hb=660507643d5c4b2d02dad62eeef589e17631afa5;hp=66a0ed992eee0c4f26967dc1a241d40c57cbb8e8;hpb=49602ad511b676040ecef8042e65af3f4621469e;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.jshell/src/org/argeo/internal/cms/jshell/osgi/OsgiExecutionControlProvider.java b/org.argeo.cms.jshell/src/org/argeo/internal/cms/jshell/osgi/OsgiExecutionControlProvider.java index 66a0ed992..9ebf97ed0 100644 --- a/org.argeo.cms.jshell/src/org/argeo/internal/cms/jshell/osgi/OsgiExecutionControlProvider.java +++ b/org.argeo.cms.jshell/src/org/argeo/internal/cms/jshell/osgi/OsgiExecutionControlProvider.java @@ -203,7 +203,8 @@ public class OsgiExecutionControlProvider implements ExecutionControlProvider { continue bundles; } Path p = bundleToPath(frameworkLocation, b); - classpath.add(p.toString()); + if (p != null) + classpath.add(p.toString()); } return classpath.toString(); @@ -213,11 +214,17 @@ public class OsgiExecutionControlProvider implements ExecutionControlProvider { String location = bundle.getLocation(); if (location.startsWith("initial@reference:file:")) { location = location.substring("initial@reference:file:".length()); - Path p = frameworkLocation.getParent().resolve(location).toRealPath(); - // TODO load dev.properties from OSGi configuration directory - if (Files.isDirectory(p)) - p = p.resolve("bin"); - return p; + Path p = frameworkLocation.getParent().resolve(location).toAbsolutePath(); + if (Files.exists(p)) { + p = p.toRealPath(); + // TODO load dev.properties from OSGi configuration directory + if (Files.isDirectory(p)) + p = p.resolve("bin"); + return p; + } else { + log.warn("Ignore bundle " + p + " as it does not exist"); + return null; + } } Path p = Paths.get(location); return p;