日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java學習|如何擴展加載Jar包?

java -jar參數(shù)運行應用時classpath的設置方法 當用java -jar yourJarExe.jar來運行一個經(jīng)過打包的應用程序的時候,你會發(fā)現(xiàn)如何設置-classpath參數(shù)應用程序都找不到相應的第三方類,報ClassNotFound錯誤。實際上這是由于當使用-jar參數(shù)運行的時候,java VM會屏蔽所有的外部classpath,而只以本身yourJarExe.jar的內(nèi)部class作為類的尋找范圍。

創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為始興等服務建站,始興等地企業(yè),進行企業(yè)商務咨詢服務。為始興企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

解決方案

擴展性類加載器

擴展性類加載器一般存放在{Java_home}\jre\lib\ext目錄下,當調(diào)用Java時,對擴展class路徑的搜索是自動的??倳阉鞯?這樣,解決的方案就很簡單了,將所有要使用的第三方的jar包都復制到ext目錄下。就會透明化進入加載范疇內(nèi)。

注意:不建議使用,否則所有的JRE需要遷移和統(tǒng)一和同步!

BootStrap類加載器擴展方案

采用 -Xbootclasspath參數(shù)進行加載擴展jar包。

Java命令行提供了如何擴展bootStrap級別class的簡單方法。

  • -Xbootclasspath: 完全取代基本核心的Java class搜索路徑,不常用,否則要重新寫所有Java核心class(建議不要用!)。
  • -Xbootclasspath/a: 后綴在核心class搜索路徑后面(推薦使用)
  • -Xbootclasspath/p: 前綴在核心class搜索路徑前面,不常用,避免引起不必要的沖突。(不建議使用)

語法如下: (分隔符與classpath參數(shù)類似,unix使用:號,windows使用;號,這里以unix為例)

 
 
 
  1. java -Xbootclasspath/a:/usrhome/thirdlib.jar: -jar yourJarExe.jar 

User class擴展方案

當使用-jar執(zhí)行可執(zhí)行Jar包時,JVM將Jar包所在目錄設置為codebase目錄,所有的class搜索都在這個目錄下開始。

所以如果使用了其他第三方的jar包,一個比較可以接受的可配置方案,就是利用jar包的Manifest擴展機制。

步驟如下:

  • 將需要的第三方的jar包,復制在同可執(zhí)行jar所在的目錄或某個子目錄下. 比如:jar 包在 /usrhome/yourJarExe.jar 那么你可以把所有jar包復制到/usrhome目錄下或/usrhome/lib 等類似的子目錄下.
  • 修改Manifest 文件

在Manifest.mf文件里加入如下行:

 
 
 
  1. Class-Path:classes12.jar lib/thirdlib.jar 

Class-Path 是可執(zhí)行jar包運行依賴的關(guān)鍵詞。

要注意的是Class-Path只是作為你本地機器的CLASSPATH環(huán)境變量的一個縮寫,也就是說用這個前綴表示在你的jar包執(zhí)行機器上所有的CLASSPATH目錄下尋找相應的第三方類/類庫。

  • 你并不能通過Class-Path來加載位于你本身的jar包里面(或者網(wǎng)絡上)的jar文件。
  • 因為從理論上來講,你的jar發(fā)布包不應該再去包含其他的第三方類庫(而應該通過使用說明來提醒用戶去獲取相應的支持類庫)。
  • 如果由于特殊需要必須把其他的第三方類庫(jar, zip, class等)直接打包在你自己的jar包里面一起發(fā)布,你就必須通過實現(xiàn)自定義的ClassLoader來按照自己的意圖加載這些第三方類庫。

標題名稱:Java學習|如何擴展加載Jar包?
本文路徑:http://www.5511xx.com/article/cdejdcg.html