已经有一个osgi的项目了  
但是我对它进行了更改  需要使用一些其他的jar包  
于是我把需要的jar包  build path 了   编写代码的时候不报错可是一运行还是  java.lang.NoClassDefFoundError!!!!!!!!!!!然后我在MANIFEST.MF中做了一些配置
Import-Package: javax.servlet;version="2.5.0",
 javax.servlet.http;version="2.5.0",
 javax.servlet.jsp;version="2.1.0",
 javax.servlet.jsp.jstl.core;version="1.1.2",
 net.sf.json,
 net.sf.json.filters,
 net.sf.json.groovy,
 net.sf.json.processors,
 net.sf.json.regexp,
 net.sf.json.test,
 net.sf.json.util,
 net.sf.json.xml,
 org.apache.activemq.command;version="5.2.0",
 org.apache.activemq.spring;version="5.2.0",
 org.springframework.jms.core;version="2.5.6.SEC01",
 org.springframework.jms.listener;version="2.5.6.SEC01",
 org.springframework.web.servlet;version="2.5.6.SEC01",
 org.springframework.web.servlet.mvc;version="2.5.6.SEC01",
 org.springframework.web.servlet.view;version="2.5.6.SEC01"
Web-ContextPath: demo
Bundle-ClassPath: WEB-INF/json/,
 .
Export-Package: net.sf.json,
 net.sf.json.filters,
 net.sf.json.groovy,
 net.sf.json.processors,
 net.sf.json.regexp,
 net.sf.json.test,
 net.sf.json.util,
 net.sf.json.xml
已经腻歪我两天了   求大侠指点迷津!!!!!!!!!!

解决方案 »

  1.   

    我看了你的manifest.mf文件,你根本没有声明你的jar在bundle-classpath里面
    其实这样问题的解决方法有两个:
    一个是在你的bundle-classpath里面声明,如果在里面声明,千万别在声明import-package里面出现
    另外一个是:
    把你依赖的jar转换为OSGI的bundle,这个有专门的工具可以帮你的,google即可。
    然后使用import-bundle导入bundle,在import-package导入包!
      

  2.   

    第二种方法不知道你说的是哪个工具而第一种办法  我不知道该以怎样的格式书写   manifest.mf  文件还有就是能麻烦你把一个例子写出吗  比如说  添加WEB-INF/lib/json 下的各种jar包