{"action":"opened","issue":{"url":"https://api.github.com/repos/eclipse/jetty.project/issues/737","repository_url":"https://api.github.com/repos/eclipse/jetty.project","labels_url":"https://api.github.com/repos/eclipse/jetty.project/issues/737/labels{/name}","comments_url":"https://api.github.com/repos/eclipse/jetty.project/issues/737/comments","events_url":"https://api.github.com/repos/eclipse/jetty.project/issues/737/events","html_url":"https://github.com/eclipse/jetty.project/issues/737","id":166058299,"number":737,"title":"IllegalArgumentException when resolving context for OSGi web fragment","user":{"login":"lkoniecki","id":404461,"avatar_url":"https://avatars.githubusercontent.com/u/404461?v=3","gravatar_id":"","url":"https://api.github.com/users/lkoniecki","html_url":"https://github.com/lkoniecki","followers_url":"https://api.github.com/users/lkoniecki/followers","following_url":"https://api.github.com/users/lkoniecki/following{/other_user}","gists_url":"https://api.github.com/users/lkoniecki/gists{/gist_id}","starred_url":"https://api.github.com/users/lkoniecki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lkoniecki/subscriptions","organizations_url":"https://api.github.com/users/lkoniecki/orgs","repos_url":"https://api.github.com/users/lkoniecki/repos","events_url":"https://api.github.com/users/lkoniecki/events{/privacy}","received_events_url":"https://api.github.com/users/lkoniecki/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-07-18T09:54:48Z","updated_at":"2016-07-18T09:54:48Z","closed_at":null,"body":"Hello,\r\n\r\nResolving context from OSGI web fragments doesn't work in case when bundle path contains space in the path name (e.g. application was deployed in the 'Program Files' directory). Jetty is run in an embedded mode from an Equinox-based application. Jetty 9.3.10 is being used.\r\n\r\nI have the following configuration in fragment's MANIFEST.MF file:\r\n\r\n    Manifest-Version: 1.0\r\n    Bundle-ManifestVersion: 2\r\n    Bundle-Name: Web Fragment\r\n    Bundle-SymbolicName: web.fragment\r\n    Bundle-Version: 1.0.0.qualifier\r\n    Fragment-Host: web;bundle-version=\"1.0.0\"\r\n    Bundle-RequiredExecutionEnvironment: JavaSE-1.8\r\n    Jetty-WarFragmentFolderPath: /\r\n\r\nWhen application is run exception is being thrown:\r\n\r\n\t\t2016-07-13 14:57:00,438 +0200 WARN [WebAppContext] Failed startup of context o.e.j.w.WebAppContext@6d7ff39a{/web,file:///C:/Windows/Temp/jetty-0.0.0.0-8080-web_1.0.0.1.jar-_web-any-7475479987438839771.dir/webapp/,UNAVAILABLE}{file:/C:/Program%20Files/testapp/plugins/web_1.0.0.1.jar}\r\n\tjava.lang.IllegalArgumentException: jar:file:/C:/Program Files/testapp/plugins/web.fragment_1.0.0.1.jar!/ is not an existing directory.\r\n\t\tat org.eclipse.jetty.util.resource.ResourceCollection.<init>(ResourceCollection.java:88) ~[org.eclipse.jetty.util_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.webapp.WebInfConfiguration.configure(WebInfConfiguration.java:185) ~[org.eclipse.jetty.webapp_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.osgi.boot.OSGiWebInfConfiguration.configure(OSGiWebInfConfiguration.java:252) ~[org.eclipse.jetty.osgi.boot_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:494) ~[org.eclipse.jetty.webapp_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1361) ~[org.eclipse.jetty.webapp_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:778) ~[org.eclipse.jetty.server_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:262) ~[org.eclipse.jetty.servlet_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:520) ~[org.eclipse.jetty.webapp_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [org.eclipse.jetty.util_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41) [org.eclipse.jetty.deploy_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188) [org.eclipse.jetty.deploy_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:499) [org.eclipse.jetty.deploy_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:147) [org.eclipse.jetty.deploy_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.osgi.boot.BundleWebAppProvider.bundleAdded(BundleWebAppProvider.java:147) [org.eclipse.jetty.osgi.boot_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.osgi.boot.internal.webapp.BundleWatcher.register(BundleWatcher.java:269) [org.eclipse.jetty.osgi.boot_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.eclipse.jetty.osgi.boot.internal.webapp.BundleWatcher.addingBundle(BundleWatcher.java:179) [org.eclipse.jetty.osgi.boot_9.3.10.v20160621.jar:9.3.10.v20160621]\r\n\t\tat org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:469) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:902) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:165) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:75) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:67) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:102) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.eclipse.osgi.container.Module.publishEvent(Module.java:466) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.eclipse.osgi.container.Module.start(Module.java:457) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:392) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\t\tat org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:411) [org.eclipse.osgi_3.10.101.v20150820-1432.jar:na]\r\n\r\nPlease note that fragment path is not URL encoded while the web bundle path (and other resources as well) is encoded.\r\n"}}
{"actor":{"display_login":"lkoniecki"}}