最近想看下spring的源码,下了源码后,搭建个简单的例子hellospring的web项目,采用工程依赖使用源码中的类。搭建好后启动tomcat报java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet错误。参考了下面文章。
在Eclipse中使用依赖项目(Required projects)替换jar的好处就是可以随时更改依赖项目中的代码,而在主项目中引用到最新的编译类。这种方式在Debug时用处非常大,避免了每次 修改依赖包源代码后,又打包成jar,并不断更新主项目jar包的麻烦。在开源项目中,这样的项目引用方式非常常见。
1. 删除主工程中对应的jar文件,如:framework.jar。
2. 右键工程->Properties->Java Build Path->Projects->Add , 然后选择所依赖的项目,如:framework ->OK(保存设置) 到这一步,你的主工程在编译的时候不会出错,因删除jar文件而报错的class们,也都能正常编译了。
3. 如果你的工程是Web项目,需要部署调试,那还必须进行以下设置:右键工程->Properties->Deployment Assmebly->Add, 选择projects, 选择目标项目framework,保存。
这样在主工程发布的时候,同时也将依赖项目发布。否则,虽然能成功编译,但在发布到服务器运行时就会报错:ClassNotFound.
如何在Eclipse中使用依赖项目(Required projects)代替jar
原文:http://my.oschina.net/gpzhang/blog/490952