专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Java Web导入jar包的2种方式

Java Web导入jar包的2种方式

更新时间:2020-10-22 17:42:16 来源:赢咖4 浏览3757次

我们在开发Java Web项目的过程中,光靠java的类库方法实现客户的需求是不现实的,这时候我们就需要有针对性的工具来帮忙,我们可以选择导入jar包。下面就为大家介绍一下Java Web导入jar包的2种方式。


java Web导入jar包方式一:(建立相对路径链接)

1.将你需要的jar包文件(以xwork-core-2.3.34.jar为例)复制到项目的WebRoot\WEB_INF\lib路径下

image.png


image.png


可以看到,当把jar包添加到lib下后,工作目录多了个Web App Libraries,此时只是把jar包复制到项目中,还不能使用。(但也有些IDE会很智能地自动帮你完成第二步,这种情况下就可以使用了)


2.右击项目名 -- Properties -- Java Build Path -- Libraries -- Add JARs,选中刚刚复制到项目的jar包,确认

image.png


这时候可以看到“项目管理视图”多了新增的jar包,而“包管理视图”多了Referenced Libraries。

image.png

image.png



我们来理解一下Web App Libraries和Referenced Libraries


(1)Referenced Libraries存放的是编译环境下使用的jar包。什么意思呢?打个比方,我使用引入的xwork-core-2.3.34.jar编写完java代码了,在运行前需要将它编译成.class文件吧,于是在编译的时候,使用的就是Referenced Libraries中存放的xwork-core-2.3.34.jar,但是这个jar包只是个“引用”,它的本体在lib下呀,这就是我们在把jar包复制到lib下还需要add jars的原因——不仅要导入,还要配置,才能让它能起作用。


(2)Web App Libraries存放的是运行环境下使用的jar包。就是说,你在运行项目的时候所需要使用的jar包都在这里。其主要作用是在MyEclipse(其他IDE或许没有这个库,如IntelliJ IDEA)导出war包的时候,将其目录下的所有jar包或者项目中的工程引用都导出到WEB-INF/lib文件夹下。再说白一点,就是以便项目拷贝到别人的机子上也能正常运行,所以当别人复制了你的项目到自己的计算机上发现“诶怎么跑不动”的时候,可以试着检查Web App Libraries。

image.png


java Web导入jar包方式二:(建立绝对路径链接)

1.右击项目名 -- Properties -- Java Build Path -- Libraries -- Add External JARs,选中想要添加的jar包,打开确认。

可以看到jar包已经添加到项目中了,注意:在包管理视图中只有Referenced Libraries,没有Web App Libraries,这意味着什么呢?由于Referenced Libraries指向的路径是本地的jar包,所以在编译时,项目会去引用我本地的jar包,这样的话非常不方便,实践说明:

image.png


1).编写一个名为MyServlet的类,让它继承某个类,点击浏览

2).输入ActionSupport,可以看到菜单项栏有ActionSupport类,它是在com.opensymphony.xwork2包下的一个类

3).而com.opensymphony.xwork2包是在我的D:\JavaWeb\SourceCode\xwork-core-2.3.34.jar包中找到的

通过本地jar包我们能找到这个包里的类,这一步乍看之下很美好没毛病吧,MyServlet类就建立好了

image.png


但如果这时候我们将xwork-core-2.3.34.jar从D:\JavaWeb\SourceCode挪动到D:\JavaWeb\SourceCode\temp

image.png


刷新一下项目就会发现工作目录的jar包不见了,MyServlet.java报错了,提示无法完成com.opensymphony.xwork2.ActionSupport的导入

image.png


Properties中的Libraries页也显示jar包异常(其实就是路径改变了,找不到了)

image.png


也就是说往,即使将此项目拷贝到别人的设备上也是无法运行的,某种程度上加强了安全性。

综上所述,建立绝对路径相对来说更加复杂麻烦一些,它每一次改变本地的jar包路径都要再次将其导入项目。javeweb导入jar包实际上就是建立一种链接(相对路径链接 或者 绝对路径链接),并不是单纯的copy式导入。还有其他的导入方式(如用户自定义,Maven管理等)在此不做赘述,需要详细了解的小伙伴可以去观看本站的JavaWeb教程


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>