首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >apache未能加载web包

apache未能加载web包
EN

Stack Overflow用户
提问于 2016-01-17 09:58:29
回答 1查看 592关注 0票数 0

我下载了apache 4.x,并使用以下命令安装了“war”特性和karaf-doc包:

代码语言:javascript
复制
feature:install war
bundle:install -s mvn:org.apache.karaf/manual/4.0.0/war

但是karaf没有加载这个web包:

代码语言:javascript
复制
2016-01-17 17:16:36,167 | ERROR | pool-4-thread-1  | RegisterWebAppVisitorWC          | 64 - org.ops4j.pax.web.pax-web-extender-war - 3.2.6 | Registration exception. Skipping.
java.lang.NoClassDefFoundError: javax/servlet/Filter
    at java.lang.ClassLoader.defineClass1(Native Method)[:1.7.0_45]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)[:1.7.0_45]
    at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2279)
    at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501)
    at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
    at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
    at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1844)
    at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)
    at org.ops4j.pax.swissbox.core.BundleClassLoader.findClass(BundleClassLoader.java:176)
    at org.ops4j.pax.swissbox.core.BundleClassLoader.loadClass(BundleClassLoader.java:194)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
    at org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorHS.loadClass(RegisterWebAppVisitorHS.java:244)[64:org.ops4j.pax.web.pax-web-extender-war:3.2.6]
    at org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorWC.visit(RegisterWebAppVisitorWC.java:261)[64:org.ops4j.pax.web.pax-web-extender-war:3.2.6]
    at org.ops4j.pax.web.extender.war.internal.model.WebApp.accept(WebApp.java:652)[64:org.ops4j.pax.web.pax-web-extender-war:3.2.6]
    at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.register(WebAppPublisher.java:237)[64:org.ops4j.pax.web.pax-web-extender-war:3.2.6]
    at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.addingService(WebAppPublisher.java:182)[64:org.ops4j.pax.web.pax-web-extender-war:3.2.6]
    at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.addingService(WebAppPublisher.java:135)[64:org.ops4j.pax.web.pax-web-extender-war:3.2.6]
    at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)[karaf-org.osgi.core.jar:]
    at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864)[karaf-org.osgi.core.jar:]
    at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf-org.osgi.core.jar:]
    at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)[karaf-org.osgi.core.jar:]
    at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)[karaf-org.osgi.core.jar:]
    at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)[karaf-org.osgi.core.jar:]
    at org.ops4j.pax.web.extender.war.internal.WebAppPublisher.publish(WebAppPublisher.java:101)[64:org.ops4j.pax.web.pax-web-extender-war:3.2.6]
    at org.ops4j.pax.web.extender.war.internal.WebObserver.deploy(WebObserver.java:213)[64:org.ops4j.pax.web.pax-web-extender-war:3.2.6]
    at org.ops4j.pax.web.extender.war.internal.WebObserver$1.doStart(WebObserver.java:175)[64:org.ops4j.pax.web.pax-web-extender-war:3.2.6]
    at org.ops4j.pax.web.extender.war.internal.extender.SimpleExtension.start(SimpleExtension.java:58)[64:org.ops4j.pax.web.pax-web-extender-war:3.2.6]
    at org.ops4j.pax.web.extender.war.internal.extender.AbstractExtender$1.run(AbstractExtender.java:266)[64:org.ops4j.pax.web.pax-web-extender-war:3.2.6]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_45]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_45]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)[:1.7.0_45]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)[:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_45]
    at java.lang.Thread.run(Thread.java:744)[:1.7.0_45]

我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-17 17:54:33

如果您这样做,4.0.0中的Karaf包实际上有一个问题:

代码语言:javascript
复制
feature:install war
bundle:install -s mvn:org.apache.karaf/manual/4.0.3/war

它马上就起作用了。只需导航到

代码语言:javascript
复制
http://localhost:8181/karaf-doc/

您可以通过以下方式查看已部署的应用程序:

代码语言:javascript
复制
karaf@root()> web:list
ID | State       | Web-State   | Level | Web-ContextPath | Name
-----------------------------------------------------------------------------------------
97 | Active      | Deployed    | 80    | /karaf-doc      | Apache Karaf :: Manual (4.0.3)

我怀疑OSGi正在死去,实际上相反,但这是一种有偏见的观点。

Apache和基于它的ServiceMix已经准备好生产,不知道处女座。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34837076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档