Hi Jochen yep these imports are evil as hell.
and though shall not import WEB-INF/lib/javax.servlet-3.0.0.v201112011016.jar in a web application bundle, neither for a standard web container nor for a OSGi one, where it actually will hit you hard in the face :D and those jetty libs aren't any good either. If you really want to keep those in the war (where the Jetty Server jars shouldn't be in either) make sure you don't put them in the classpath. regards, Achim 2014-11-12 8:27 GMT+01:00 jochenw <[email protected]>: > Hi Achim, > > thanks for the reply! > > web:stop and web:start on the bundle changes the Web-State - from Deploying > to Waiting. The debug-output says: > > 2014-11-12 06:52:03,199 | DEBUG | l for user karaf | WebEventDispatcher > | 133 - org.ops4j.pax.web.pax-web-extender-war - 3.1.2 | Sending web event > WebEvent [replay=false, type=WAITING, bundle=testwar [145], > extenderBundle=org.ops4j.pax.web.pax-web-extender-war [133], cause=null, > timestamp=1415775123199, contextPath=/testwar, collisionIds=[145, 145], > httpService=null, httpContext=null] for bundle testwar > 2014-11-12 06:52:03,199 | DEBUG | EventExecutor: 1 | pax-web-extender-war > | 133 - org.ops4j.pax.web.pax-web-extender-war - 3.1.2 | > org/osgi/service/web/FAILED > 2014-11-12 06:52:03,199 | DEBUG | l for user karaf | > LoggingCommandSessionListener | 25 - org.apache.karaf.shell.console - > 3.0.2 | Command: 'web:start 145' returned 'null' > > Apart from Vaadin and some Vaadin plugins, we use Eclipselink for JPA with > access to a PostgreSQL DB, Shiro for authentication/authorization. > > I just saw that in WEB-INF/lib, we have included some jars which are > required for UI unit testing (jetty, selenium, phantomjs driver, Vaadin > testbench), and interestingly there are also some Equinox osgi jars. Could > the latter cause some problems, since all the jars are included in the > bundle class path on installation of the plain (non-OSGi) war? > > These jars are most probably there, since we currently re-use some of our > OSGi-backend functionality as non-OSGi libs for the UI, and the mvn > dependency resolution then adds those jars to the lib folder. If those > things cause the problem, we might need to clean up first. But there is no > clear hint in the debug output. > > Our final goal is to OSGi-ify the UI, and then it will of course no longer > internalize such OSGi libs, but properly import the needed packages. As a > first step, I just want to have the war running in the OSGi container > as-is. > Maybe this approach is bit too simple. > > Best Regards, > > Jochen > > P.S.: here the output of "headers 145": > > Bundle-Name = testwar > Bundle-SymbolicName = testwar > Bundle-Version = 0 > Bundle-ManifestVersion = 2 > Bundle-ClassPath = > > WEB-INF/classes,WEB-INF/lib/activemq-all-5.9.0.jar,WEB-INF/lib/animator-1.7.3.jar,WEB-INF/lib/atmosphere-runtime-2.1.2.vaadin6.jar,WEB-INF/lib/authorizationbundle-1.0.0.1.jar,WEB-INF/lib/bcpkix-jdk15on-1.48.jar,WEB-INF/lib/bcprov-jdk15on-1.48.jar,WEB-INF/lib/cglib-nodep-2.1_3.jar,WEB-INF/lib/commonj.sdo-2.1.1.jar,WEB-INF/lib/commons-beanutils-1.8.3.jar,WEB-INF/lib/commons-codec-1.8.jar,WEB-INF/lib/commons-collections-3.2.1.jar,WEB-INF/lib/commons-exec-1.1.jar,WEB-INF/lib/commons-io-2.4.jar,WEB-INF/lib/commons-lang3-3.1.jar,WEB-INF/lib/commons-logging-1.1.3.jar,WEB-INF/lib/cssparser-0.9.11.jar,WEB-INF/lib/dbbundle-1.0.0.1.jar,WEB-INF/lib/easymock-3.1.jar,WEB-INF/lib/eclipselink-2.5.1.jar,WEB-INF/lib/flute-1.3.0.gg2.jar,WEB-INF/lib/framebundle-1.0.0.1.jar,WEB-INF/lib/g-leaflet-0.4.6.jar,WEB-INF/lib/g-leaflet-draw-0.4.6.jar,WEB-INF/lib/g-leaflet-markercluster-0.4.5.jar,WEB-INF/lib/gson-2.2.jar,WEB-INF/lib/guava-15.0.jar,WEB-INF/lib/guava-16.0.1.vaadin1.jar,WEB-INF/lib/h2-1.3.174.jar,WEB-INF/lib/htmlunit-2.15.jar,WEB-INF/lib/htmlunit-core-js-2.15.jar,WEB-INF/lib/httpclient-4.3.1.jar,WEB-INF/lib/httpcore-4.3.jar,WEB-INF/lib/httpmime-4.3.1.jar,WEB-INF/lib/jackson-annotations-2.3.0.jar,WEB-INF/lib/jackson-core-2.3.2.jar,WEB-INF/lib/jackson-databind-2.3.2.jar,WEB-INF/lib/javassist-3.18.1-GA.jar,WEB-INF/lib/javax.persistence-2.1.0.jar,WEB-INF/lib/javax.servlet-3.0.0.v201112011016.jar,WEB-INF/lib/javax.servlet.jsp-2.2.0.v201112011158.jar,WEB-INF/lib/jcip-annotations-1.0.jar,WEB-INF/lib/jetty-http-8.1.12.v20130726.jar,WEB-INF/lib/jetty-io-8.1.12.v20130726.jar,WEB-INF/lib/jetty-rc-repacked-5.jar,WEB-INF/lib/jetty-repacked-7.6.1.jar,WEB-INF/lib/jetty-util-8.1.12.v20130726.jar,WEB-INF/lib/jetty-websocket-8.1.15.v20140411.jar,WEB-INF/lib/jna-3.4.0.jar,WEB-INF/lib/json-0.0.20080701.jar,WEB-INF/lib/json-20080701.jar,WEB-INF/lib/jsoup-1.6.3.jar,WEB-INF/lib/jts-1.13.jar,WEB-INF/lib/libbundle-1.0.0.1.jar,WEB-INF/lib/log4j-1.2.17.jar,WEB-INF/lib/messagesbundle-1.0.0.1.jar,WEB-INF/lib/mx4j-tools-3.0.1.jar,WEB-INF/lib/nekohtml-1.9.19.jar,WEB-INF/lib/netty-3.5.5.Final.jar,WEB-INF/lib/objenesis-1.2.jar,WEB-INF/lib/org.apache.felix.dependencymanager-3.2.0.jar,WEB-INF/lib/org.eclipse.osgi-3.7.1.jar,WEB-INF/lib/org.eclipse.persistence.antlr-2.5.1.jar,WEB-INF/lib/org.eclipse.persistence.asm-2.5.1.jar,WEB-INF/lib/org.eclipse.persistence.core-2.5.1.jar,WEB-INF/lib/org.eclipse.persistence.jpa-2.5.1.jar,WEB-INF/lib/org.eclipse.persistence.jpa.jpql-2.5.1.jar,WEB-INF/lib/org.eclipse.persistence.jpa.modelgen.processor-2.5.1.jar,WEB-INF/lib/org.osgi.compendium-4.3.0.jar,WEB-INF/lib/org.osgi.core-4.2.0.jar,WEB-INF/lib/osgi-3.1.1.jar,WEB-INF/lib/phantomjsdriver-1.2.0.jar,WEB-INF/lib/platform-3.4.0.jar,WEB-INF/lib/postgresql-9.3-1100-jdbc41.jar,WEB-INF/lib/refresher-1.2.3.7.jar,WEB-INF/lib/sac-1.3.jar,WEB-INF/lib/selenium-api-2.43.1.jar,WEB-INF/lib/selenium-chrome-driver-2.43.1.jar,WEB-INF/lib/selenium-firefox-driver-2.43.1.jar,WEB-INF/lib/selenium-htmlunit-driver-2.43.1.jar,WEB-INF/lib/selenium-ie-driver-2.43.1.jar,WEB-INF/lib/selenium-java-2.43.1.jar,WEB-INF/lib/selenium-remote-driver-2.43.1.jar,WEB-INF/lib/selenium-safari-driver-2.43.1.jar,WEB-INF/lib/selenium-server-2.43.1.jar,WEB-INF/lib/selenium-support-2.43.1.jar,WEB-INF/lib/serializer-2.7.1.jar,WEB-INF/lib/servlet-api-2.5-6.1.9.jar,WEB-INF/lib/shiro-core-1.2.3.jar,WEB-INF/lib/sizereporter-0.1.1.jar,WEB-INF/lib/slf4j-api-1.6.4.jar,WEB-INF/lib/slf4j-simple-1.7.2.jar,WEB-INF/lib/snakeyaml-1.8.jar,WEB-INF/lib/streamhtmlparser-jsilver-0.0.10.vaadin1.jar,WEB-INF/lib/v-leaflet-0.5.6.jar,WEB-INF/lib/v-leaflet-markercluster-0.4.5.jar,WEB-INF/lib/vaadin-charts-1.1.7.jar,WEB-INF/lib/vaadin-client-compiled-7.3.3.jar,WEB-INF/lib/vaadin-push-7.3.3.jar,WEB-INF/lib/vaadin-sass-compiler-0.9.10.jar,WEB-INF/lib/vaadin-server-7.3.3.jar,WEB-INF/lib/vaadin-shared-7.3.3.jar,WEB-INF/lib/vaadin-slf4j-jdk14-1.6.1.jar,WEB-INF/lib/vaadin-testbench-4.0.0.rc2.jar,WEB-INF/lib/vaadin-testbench-api-7.3.0.rc2.jar,WEB-INF/lib/vaadin-testbench-core-4.0.0.rc2.jar,WEB-INF/lib/vaadin-themes-7.3.3.jar,WEB-INF/lib/validation-api-1.0.0.GA-sources.jar,WEB-INF/lib/validation-api-1.0.0.GA.jar,WEB-INF/lib/webbit-0.4.15.jar,WEB-INF/lib/xalan-2.7.1.jar,WEB-INF/lib/xercesImpl-2.11.0.jar,WEB-INF/lib/xml-apis-1.4.01.jar > > Import-Package = > javax.activation;resolution:=optional, > javax.annotation.processing;resolution:=optional, > javax.crypto;resolution:=optional, > javax.crypto.interfaces;resolution:=optional, > javax.crypto.spec;resolution:=optional, > javax.ejb;resolution:=optional, > javax.el;resolution:=optional, > javax.enterprise.context.spi;resolution:=optional, > javax.enterprise.inject.spi;resolution:=optional, > javax.imageio;resolution:=optional, > javax.imageio.stream;resolution:=optional, > javax.inject;resolution:=optional, > javax.jmdns;resolution:=optional, > javax.lang.model;resolution:=optional, > javax.lang.model.element;resolution:=optional, > javax.lang.model.type;resolution:=optional, > javax.lang.model.util;resolution:=optional, > javax.mail;resolution:=optional, > javax.mail.internet;resolution:=optional, > javax.management;resolution:=optional, > javax.management.loading;resolution:=optional, > javax.management.modelmbean;resolution:=optional, > javax.management.monitor;resolution:=optional, > javax.management.openmbean;resolution:=optional, > javax.management.relation;resolution:=optional, > javax.management.remote;resolution:=optional, > javax.management.timer;resolution:=optional, > javax.microedition.io;resolution:=optional, > javax.naming;resolution:=optional, > javax.naming.directory;resolution:=optional, > javax.naming.event;resolution:=optional, > javax.naming.ldap;resolution:=optional, > javax.naming.spi;resolution:=optional, > javax.net;resolution:=optional, > javax.net.ssl;resolution:=optional, > javax.portlet;resolution:=optional, > javax.portlet.filter;resolution:=optional, > javax.resource;resolution:=optional, > javax.resource.cci;resolution:=optional, > javax.rmi;resolution:=optional, > javax.rmi.CORBA;resolution:=optional, > javax.security.auth;resolution:=optional, > javax.security.auth.callback;resolution:=optional, > javax.security.auth.login;resolution:=optional, > javax.security.auth.x500;resolution:=optional, > javax.security.cert;resolution:=optional, > javax.sql;resolution:=optional, > javax.swing;resolution:=optional, > javax.swing.border;resolution:=optional, > javax.swing.event;resolution:=optional, > javax.swing.filechooser;resolution:=optional, > javax.swing.table;resolution:=optional, > javax.swing.text;resolution:=optional, > javax.swing.text.html;resolution:=optional, > javax.swing.tree;resolution:=optional, > javax.tools;resolution:=optional, > javax.websocket;resolution:=optional, > javax.websocket.server;resolution:=optional, > javax.ws.rs;resolution:=optional, > javax.ws.rs.core;resolution:=optional, > javax.ws.rs.ext;resolution:=optional, > javax.xml.bind;resolution:=optional, > javax.xml.bind.annotation;resolution:=optional, > javax.xml.bind.annotation.adapters;resolution:=optional, > javax.xml.bind.attachment;resolution:=optional, > javax.xml.bind.helpers;resolution:=optional, > javax.xml.rpc;resolution:=optional, > javax.xml.soap;resolution:=optional, > javax.xml.ws;resolution:=optional, > javax.xml.ws.handler;resolution:=optional, > javax.xml.ws.soap;resolution:=optional, > org.slf4j.spi;resolution:=optional;provider=paxlogging, > org.apache.log4j.xml;resolution:=optional;provider=paxlogging, > javax.servlet.jsp;resolution:=optional, > javax.servlet.jsp.el;resolution:=optional, > org.slf4j.helpers;resolution:=optional;provider=paxlogging, > javax.servlet, > > org.apache.commons.logging.impl;resolution:=optional;provider=paxlogging, > org.slf4j;resolution:=optional;provider=paxlogging, > org.apache.log4j;resolution:=optional;provider=paxlogging, > > org.apache.commons.logging;resolution:=optional;provider=paxlogging, > org.apache.log4j.spi;resolution:=optional;provider=paxlogging, > javax.servlet.http > > > > -- > View this message in context: > http://karaf.922171.n3.nabble.com/pax-web-war-stays-in-deploying-state-tp4036280p4036359.html > Sent from the Karaf - User mailing list archive at Nabble.com. > -- Apache Member Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> Software Architect / Project Manager / Scrum Master
