Eclipse项目中web app libraries和 Referenced Libraries区别

时间:2023-12-11 23:03:14

Referenced  Libraries是编译环境下使用的JAR包,
所谓编译环境下使用的JAR包, 就是说你在Eclipse中进行源文件的编写的时候,所需要引用到的类都从Referenced  Libraries这个集合中的JAR包中拿;
/web-inf/lib中的JAR包是运行时环境下使用的JAR包,所谓运行时环境下使用的JAR包,就是说你在运行你的项目的时候所需要使用的JAR包的集合;

上网查的时候说 在项目发布的时候 Referenced Libraries 下面的jar包 不会被打包,那既然不能被打包的话 项目怎么还怎么运行?

1. 看你的运行时环境了。有一些是运行时环境里有,比如 tomcat 自带的一些 jar (如 servlet-api 等);
2. 有一些项目管理工具(如 maven 等),会把你所依赖到的包一起打进 war 包,参考博客 《Maven 项目打包需要注意到的那点事儿》;
3. 还有一些 ide 插件比较智能,配置适当的话,调试运行时会自动指向你编译时的环境,参考博客《使用 Eclipse 的 Maven 2 插件开发一个 JEE 项目》。

添加Referenced Libraries:

在项目下新建lib文件夹,将jar放到里面,此时,只是把jar包复制到项目中,还不能使用。我们再在项目名上右击,依次选择【Build Path】-->【Configure Build Path...】,在打开的窗口中,先选中【Libraries】页,再从右边的按钮中点击【add JARs...】

添加web app libraries:

将gson-2.2.4.jar包放在WebContent->WEB-INF->lib下,会自动编译到Web App Library中。