更新時(shí)間:2020-10-22 17:42:16 來源:動(dòng)力節(jié)點(diǎn) 瀏覽4956次
我們在開發(fā)Java Web項(xiàng)目的過程中,光靠java的類庫方法實(shí)現(xiàn)客戶的需求是不現(xiàn)實(shí)的,這時(shí)候我們就需要有針對性的工具來幫忙,我們可以選擇導(dǎo)入jar包。下面就為大家介紹一下Java Web導(dǎo)入jar包的2種方式。
java Web導(dǎo)入jar包方式一:(建立相對路徑鏈接)
1.將你需要的jar包文件(以xwork-core-2.3.34.jar為例)復(fù)制到項(xiàng)目的WebRoot\WEB_INF\lib路徑下


可以看到,當(dāng)把jar包添加到lib下后,工作目錄多了個(gè)Web App Libraries,此時(shí)只是把jar包復(fù)制到項(xiàng)目中,還不能使用。(但也有些IDE會(huì)很智能地自動(dòng)幫你完成第二步,這種情況下就可以使用了)
2.右擊項(xiàng)目名 -- Properties -- Java Build Path -- Libraries -- Add JARs,選中剛剛復(fù)制到項(xiàng)目的jar包,確認(rèn)

這時(shí)候可以看到“項(xiàng)目管理視圖”多了新增的jar包,而“包管理視圖”多了Referenced Libraries。


我們來理解一下Web App Libraries和Referenced Libraries
(1)Referenced Libraries存放的是編譯環(huán)境下使用的jar包。什么意思呢?打個(gè)比方,我使用引入的xwork-core-2.3.34.jar編寫完java代碼了,在運(yùn)行前需要將它編譯成.class文件吧,于是在編譯的時(shí)候,使用的就是Referenced Libraries中存放的xwork-core-2.3.34.jar,但是這個(gè)jar包只是個(gè)“引用”,它的本體在lib下呀,這就是我們在把jar包復(fù)制到lib下還需要add jars的原因——不僅要導(dǎo)入,還要配置,才能讓它能起作用。
(2)Web App Libraries存放的是運(yùn)行環(huán)境下使用的jar包。就是說,你在運(yùn)行項(xiàng)目的時(shí)候所需要使用的jar包都在這里。其主要作用是在MyEclipse(其他IDE或許沒有這個(gè)庫,如IntelliJ IDEA)導(dǎo)出war包的時(shí)候,將其目錄下的所有jar包或者項(xiàng)目中的工程引用都導(dǎo)出到WEB-INF/lib文件夾下。再說白一點(diǎn),就是以便項(xiàng)目拷貝到別人的機(jī)子上也能正常運(yùn)行,所以當(dāng)別人復(fù)制了你的項(xiàng)目到自己的計(jì)算機(jī)上發(fā)現(xiàn)“誒怎么跑不動(dòng)”的時(shí)候,可以試著檢查Web App Libraries。

java Web導(dǎo)入jar包方式二:(建立絕對路徑鏈接)
1.右擊項(xiàng)目名 -- Properties -- Java Build Path -- Libraries -- Add External JARs,選中想要添加的jar包,打開確認(rèn)。
可以看到j(luò)ar包已經(jīng)添加到項(xiàng)目中了,注意:在包管理視圖中只有Referenced Libraries,沒有Web App Libraries,這意味著什么呢?由于Referenced Libraries指向的路徑是本地的jar包,所以在編譯時(shí),項(xiàng)目會(huì)去引用我本地的jar包,這樣的話非常不方便,實(shí)踐說明:

1).編寫一個(gè)名為MyServlet的類,讓它繼承某個(gè)類,點(diǎn)擊瀏覽
2).輸入ActionSupport,可以看到菜單項(xiàng)欄有ActionSupport類,它是在com.opensymphony.xwork2包下的一個(gè)類
3).而com.opensymphony.xwork2包是在我的D:\JavaWeb\SourceCode\xwork-core-2.3.34.jar包中找到的
通過本地jar包我們能找到這個(gè)包里的類,這一步乍看之下很美好沒毛病吧,MyServlet類就建立好了

但如果這時(shí)候我們將xwork-core-2.3.34.jar從D:\JavaWeb\SourceCode挪動(dòng)到D:\JavaWeb\SourceCode\temp

刷新一下項(xiàng)目就會(huì)發(fā)現(xiàn)工作目錄的jar包不見了,MyServlet.java報(bào)錯(cuò)了,提示無法完成com.opensymphony.xwork2.ActionSupport的導(dǎo)入

Properties中的Libraries頁也顯示jar包異常(其實(shí)就是路徑改變了,找不到了)

也就是說往,即使將此項(xiàng)目拷貝到別人的設(shè)備上也是無法運(yùn)行的,某種程度上加強(qiáng)了安全性。
綜上所述,建立絕對路徑相對來說更加復(fù)雜麻煩一些,它每一次改變本地的jar包路徑都要再次將其導(dǎo)入項(xiàng)目。javeweb導(dǎo)入jar包實(shí)際上就是建立一種鏈接(相對路徑鏈接 或者 絕對路徑鏈接),并不是單純的copy式導(dǎo)入。還有其他的導(dǎo)入方式(如用戶自定義,Maven管理等)在此不做贅述,需要詳細(xì)了解的小伙伴可以去觀看本站的JavaWeb教程。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)