成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java學習 | 如何擴展加載Jar包?

開發 后端
當使用-jar參數運行的時候,java VM會屏蔽所有的外部classpath,而只以本身yourJarExe.jar的內部class作為類的尋找范圍。

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

[[403095]]

解決方案

擴展性類加載器

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

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

BootStrap類加載器擴展方案

采用 -Xbootclasspath參數進行加載擴展jar包。

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

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

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

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

User class擴展方案

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

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

步驟如下:

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

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

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

Class-Path 是可執行jar包運行依賴的關鍵詞。

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

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

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2014-12-04 10:30:04

Java

2021-10-05 22:09:31

Jar加載機制

2021-10-18 10:36:31

Spring Boot插件Jar

2021-10-18 12:04:22

Spring BootJava開發

2009-09-24 09:44:32

Hibernate j

2024-08-09 08:46:00

Springjar 包YAML

2023-10-19 09:14:34

Java開發

2025-06-18 07:32:16

SpringJar動態加載

2024-07-01 12:13:44

2009-06-04 10:31:00

struts.jar詳解

2023-09-01 08:26:06

SpringBootjar包war包

2011-04-14 13:39:15

jar包

2009-07-08 15:18:00

JAR文件包jar命令

2020-12-30 08:01:07

Java隔離加載

2022-05-15 15:14:04

爬蟲Requests反爬

2020-06-24 10:15:05

機器學習RancherKubeflow

2022-07-01 17:57:45

KubernetesAPI

2022-10-08 14:44:01

VSCode開源

2009-10-16 15:48:43

如何學習Java

2020-04-09 11:08:30

PyFlinkJAR依賴
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美精品一区二区色综合朱莉 | 天天射影院 | 中文字幕91av | 女人av| 99久久婷婷国产综合精品电影 | 国产日韩精品一区二区 | 国产乱码一区 | 521av网站| 激情av免费看 | 亚洲一区中文字幕 | 国产精品久久久久一区二区三区 | 天天色影视综合 | 青青久久av北条麻妃海外网 | 不卡视频在线 | 中文在线一区二区 | 亚洲精品一二区 | 久久一区二区免费视频 | 久久激情视频 | 麻豆av一区二区三区久久 | 夜夜爽99久久国产综合精品女不卡 | 91精品国产99久久 | 日韩成人专区 | 亚洲国产高清高潮精品美女 | 亚洲国产精品久久久 | 一级免费看 | 羞羞视频网站免费观看 | 夜夜夜久久久 | 日韩欧美一区二区三区在线播放 | 国产精品99久久久久久www | 特黄毛片 | 精品欧美一区二区在线观看 | 精品www | 久久在线| 中文字幕乱码一区二区三区 | 一级毛片视频 | 美女视频黄的免费 | 91爱啪啪| 国产中文字幕在线观看 | 神马久久久久久久久久 | 看av在线| 大陆一级毛片免费视频观看 |