这是我第一次尝试在内部创建一个带有servlet的osgi包。用google搜索我做了这个问题,它是由glassfish 4成功启动的。但是当我在浏览器中尝试打开它时我得到了
java.lang.ClassNotFoundException:javax.servlet.http.HttpServlet not not 发现... [299] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)
我的清单文件:
Manifest-Version:1.0
Bundle-ManifestVersion:2
Bundle-SymbolicName: tutu
Bundle-Version:1.0.0
Bundle-ClassPath:WEB-INF / classes
Web-ContextPath:/ tutu
导入 - 包: javax.servlet,javax.servlet.annotation,javax.servlet.http
据我所知,尽管我可能错了,但osgi并没有导入这些软件包。请帮助解决这个问题。
编辑: 我发现了错误。 MANIFEST的订单很有意义。所以最后的清单:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: tutu
Bundle-Name: tutut
Bundle-Version: 1.0.0
Import-Package: javax.servlet,javax.servlet.annotation, javax.servlet.http
Bundle-ClassPath: WEB-INF/classes
Web-ContextPath: /tutu
答案 0 :(得分:0)
在构建路径中添加servlet-api.jar并尝试。