日期:2014-05-17  浏览次数:20570 次

Dynamic Web Project的一个问题
建立一Dynamic Web Project
由于用到第三方的东西,java build path里面add external jar引入了一些jar文件

在Dynamic Web Project新建一个servlet,dopost里面就可以new一个第三方提供的类了。

程序是一个jsp页面调用这个servlet。

运行时,出现classnotfoundexception错误。

后来把第三方的jar包放在Web-Inf里面的lib下面,程序就好了

问题:java build path的add external jar可以使.java文件new一个第三方提供的类,为什么运行时出现classnotfoundexception呢?add external jar与我拷贝jar文件到Web-Inf里面是什么关系?


多谢指点。

------解决方案--------------------
在项目的lib目录里,跟部署后的lib目录是不一样的。
你要在web环境中运行,要看部署后的lib目录里是不是有这些jar文件。
------解决方案--------------------
你直接在你的web容器指向你的工程目录的webroot了
------解决方案--------------------
add external jar是用于java类的,lib目录下是用于web应用的。。因为tomcat好像也只会找lib下的jar文件来额外加载
------解决方案--------------------
build path只是在Eclipse这个IDE里面,方便你编写Java代码的,这只是Eclipse的问题。

而当你发布到tomcat上面去,程序是运行在Tomcat这个web容器里面,调用的那些类都是web容器里面所包含的第三方Jar文件。所以,程序能成功运行,应该是需要把Jar文件放到lib目录下面去的。