日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

瀏覽:233日期:2024-08-25 15:22:00

前言:

最近,遇到了一個問題,都快把我整瘋了;這個問題開始是由 使用IDEA 對 非Maven項目進行打 Jar 包 引起的;本來就是想簡簡單單的打個 jar 包,并將使用的第三方依賴 jar 包打進去,但是問題就出現在了項目中依賴的第三方 jar 包( bcprov-jdk15on-1.54.jar )存在簽名,那在打包過程中會把 簽名 破壞掉,導致在使用打好的jar包時報錯: JCE cannot authenticate the provider BC 。

注意:如果依賴的第三方jar包不存在簽名的話,直接按照下面的 打包方式 就能成功打包;

IDEA打jar包:

使用 IDEA 將項目打成jar包,并將使用的第三方依賴jar包打進去;

1、首先看下打包的項目工程:

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

2、具體的打包流程:2.1、首先配置 MANIFEST.MF

首先需要配置 MANIFEST.MF , 因為這會在打包時使用的;

首先新建一個文件夾,文件夾取名為 META-INF , 在文件夾META-INF中創建文件,取名為 MANIFEST.MF ,然后需要配置下 MANIFEST.MF 文件的內容; 內容如下:

Manifest-Version: 1.0Class-Path: lib/log4j-core-2.0-rc1.jar lib/bcprov-jdk15on-1.54.jar Main-Class: com.lyl.Test.PackageTest

注意上面 MANIFEST.MF 配置文件中的內容在填寫時,需要注意幾點:

1、Class-Path 在 冒號后面需要有 一個空格 ;然后后面跟隨的每個依賴包之間也必須有 一個空格 ,并且最后一個依賴后面也必須要存在 一個空格 ;

2、Main-Class這一行后面需要跟 兩個空行 ;

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

最后簡單說下,MANIFEST.MF 在打包時起到什么作用呢:

Main-Class 指定程序的運行入口,這樣可以直接用java -jar xxx.jar來運行程序。

Class-Path 指定依賴jar包的路徑,class loader類加載器會依據這個路徑來搜索依賴的class。

2.2、具體配置過程

下面將進行打包前的一些配置,需要將這些配置好后,才能進行打包的;

(1)、

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

(2)、

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

(3)、

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

(4)、

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

(5)、

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

(6)、

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

(7)、

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

(8)、

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

2.3、進行打包

上面將打包前的一些配置完成后,最后就可以直接進行打包了;

(1)、

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

(2)、

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

end, IDEA 打jar包流程已經完成了;但是打好的jar包,直接使用時,可能還會存在問題,再聊聊會出現的問題。

擴展: 如果想在打jar包時,將依賴的第三包jar包打進去的話,使用IDEA可能會比較繁瑣,但是使用 Eclipse 會比較方便快捷,直接使用 Eclipse 的 fat jar 插件 進行打包,十分方便的。

3、打好的jar包在使用時可能存在的問題:3.1、報錯:Invalid signature file digest for Manifest main attributes

將打好的jar包引用到另一個項目中,可能會報錯:Invalid signature file digest for Manifest main attributes ;

這就是因為 打好的jar包中 存在多余的.SF文件,可以將jar包中后綴為 .SF文件刪除就可以了。

3.2、報錯:JCE cannot authenticate the provider BC

在項目中使用打好的jar包,可能會報錯:JCE cannot authenticate the provider BC ;

這是因為 之前打包時,項目中依賴的第三方jar包中有存在 簽名 的jar包(bcprov-jdk15on-1.54.jar);在將其打進jar包時,就會將簽名破壞掉,導致在使用這個簽名被破壞的包中的類時,就會報錯了。

3.3、解決方案:3.3.1、將簽名包放一份到本地JDK中(不推薦)

此方案需要將簽名包(bcprov-jdk15on-1.54.jar)放到 JDK 中的 jre 中的lib文件夾下的 ext 文件夾中;

例如:本地安裝的JDK路徑為 E:Javajdk1.8.0_60jrelibext ; 將簽名包放到這里一份 。

但是此解決方案不推薦,為什么不推薦呢?

因為如果你打的jar包需要提供給別人的話,別人為了使用你的jar包,還需要改變自己的JDK,這個不太方便了。

3.3.2、打包時,不講依賴簽名包打進去(推薦)

打包時,不將簽名包打進去。打好包后,在項目中使用時,需要將依賴的簽名包與打好的包一起放到 lib 文件夾下,這樣在使用簽名包時,就會使用與 打好的包在同級別下的 依賴的簽名包。

使用這種方案進行解決時,會比第一種方案方便很多,只是使用時,除了引入打好的jar包外,還需喲再引入下使用到的簽名包( bcprov-jdk15on-1.54.jar ),并將其放到同一級別目錄下 即可。

打包時,不將簽名包打進去的實現步驟:(以 bcprov-jdk15on-1.54.jar 簽名包為例子)

(1)、首先是將 MANIFEST.MF 配置文件進行修改:

之前:存在簽名包的

Manifest-Version: 1.0Class-Path: lib/log4j-core-2.0-rc1.jar lib/bcprov-jdk15on-1.54.jar Main-Class: com.lyl.Test.PackageTest

修改:就是將簽名包 bcprov-jdk15on-1.54.jar 的依賴引入刪除

Manifest-Version: 1.0Class-Path: lib/log4j-core-2.0-rc1.jarMain-Class: com.lyl.Test.PackageTest

(2)、改完 配置文件后,再修改上面打包 具體配置步驟 中的 第(7) 中的引入依賴jar包,將簽名包刪除,然后再點擊OK,并重新打包 即可。如下圖:

之前,簽名包也引入了:

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

之后,去掉引入的簽名包:

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

重新打好的包,由于沒有將依賴的簽名包打進去,那么如果使用到簽名包bcprov-jdk15on-1.54.jar的類時,就會報《 類找不到 》怎么辦呢?

可以將打好的jar包 “ packagetest-1.0.0.jar ”, 與 簽名包 bcprov-jdk15on-1.54.jar 放到引用的項目的 lib 文件夾下(需要保證這兩個jar包在項目中的存放的位置在同一級別 即可); 然后在使用時就會使用 外部引用的 依賴簽名包中的類了,不會報 類找不到 。

并且沒有破壞簽名包的簽名,所以也不會報簽名被破壞的錯了:JCE cannot authenticate the provider BC

end, 暫時只找到了這兩種解決方案,感覺這都不是最優的解決方案,但是實在找不到了,唉,如果有知道的朋友,可以告訴下嗎? 謝謝啦!

IDEA對使用了第三方依賴jar包的非Maven項目打jar包的問題(圖文詳解)

到此這篇關于IDEA對使用了第三方依賴jar包的非Maven項目打jar包的文章就介紹到這了,更多相關idea 第三方依賴jar包非Maven項目打jar包內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: IDEA
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩中文字幕高清在线观看| 国产91在线精品| 欧美经典一区| 日韩国产一二三区| 国产视频一区三区| 狠狠干综合网| 亚洲电影在线| 麻豆精品在线观看| 免费观看在线综合| 天堂久久一区| 亚洲精品四区| 国产欧美一区| 久久免费精品| 日本不卡视频在线| 免播放器亚洲| 999在线观看精品免费不卡网站| 好看的亚洲午夜视频在线| 国产一区欧美| 日韩视频在线一区二区三区| 蜜桃传媒麻豆第一区在线观看| 欧美一级专区| 久久国产麻豆精品| 久久久男人天堂| 国产精品av一区二区| 在线日韩成人| 精品一区不卡| 蜜臀av免费一区二区三区| 性色一区二区| 国产欧美一区二区三区米奇| 欧美特黄一区| 免费久久99精品国产| 精品一区不卡| 色爱av综合网| 视频一区二区欧美| 日韩精品三区四区| 国产乱码精品一区二区亚洲| 黄毛片在线观看| 蜜桃一区二区三区在线观看| 国产一区二区三区四区五区传媒| 亚洲激情偷拍| 色乱码一区二区三区网站| 日韩精品一二三| 嫩草伊人久久精品少妇av杨幂| 色婷婷综合网| 亚洲尤物在线| 精品国产中文字幕第一页| 日本不卡一二三区黄网| 四虎影视精品| 青青草伊人久久| 欧美日韩国产在线一区| 久久久久伊人| 青草综合视频| 亚洲手机视频| 亚洲国产日韩欧美在线| 国产中文欧美日韩在线| 在线精品亚洲| 午夜精品一区二区三区国产| 国产一区二区视频在线看| 一二三区精品| 蜜桃av在线播放| 少妇精品在线| 免费人成黄页网站在线一区二区| 桃色一区二区| 精品国产精品久久一区免费式| 日韩高清电影免费| 婷婷久久免费视频| 亚洲网站视频| 欧美极品一区二区三区| 午夜一级在线看亚洲| 在线日韩av| 樱桃成人精品视频在线播放| 亚洲国产成人精品女人| 999国产精品永久免费视频app| 九九99久久精品在免费线bt| 日韩中文字幕无砖| 在线看片不卡| 另类激情亚洲| 97久久超碰| 日韩精品第一| 欧美一级全黄| 国产探花一区| 水蜜桃精品av一区二区| 久久美女性网| 亚洲天堂久久| 日韩中文字幕1| 综合日韩在线| 国产精品99久久久久久董美香| 精品亚洲成人| 成人在线视频免费看| 国产a久久精品一区二区三区| 麻豆精品视频在线观看免费| 风间由美中文字幕在线看视频国产欧美| 久久久久久久欧美精品| 国产免费av国片精品草莓男男| 日本欧美久久久久免费播放网| 亚洲香蕉久久| 日韩在线观看中文字幕| 在线亚洲激情| 91嫩草精品| 日韩在线视频精品| 亚洲啊v在线| 日韩激情中文字幕| 国产美女视频一区二区| 欧美gv在线| 视频一区中文字幕| 久久伊人亚洲| 色狠狠一区二区三区| 精品一区二区三区中文字幕视频| 亚洲一本视频| 精品视频91| 久久久水蜜桃av免费网站| 亚洲精品1区| 手机在线电影一区| 日韩在线网址| 美女毛片一区二区三区四区| 久久国产日韩欧美精品| 久久伦理在线| 天堂俺去俺来也www久久婷婷| 国产精品日本一区二区三区在线| 麻豆精品蜜桃| 欧美亚洲综合视频| 久久香蕉精品| 久久久9色精品国产一区二区三区| 日韩精品免费视频一区二区三区| 激情自拍一区| 成人国产精品| 国产精品高潮呻吟久久久久| 欧美精品羞羞答答| 久久99高清| 日韩精品久久久久久| 91久久午夜| 午夜久久久久| 成人国产精品一区二区免费麻豆| 亚洲3区在线| 国产激情久久| 99在线精品视频在线观看| 麻豆精品网站| 国产成人黄色| 日韩在线精品| 久久精品国产www456c0m| 日韩欧美综合| 九色porny丨国产首页在线| 电影91久久久| 国产白浆在线免费观看| а√天堂8资源在线| 久久精品系列| 黄毛片在线观看| 国产精品毛片视频| 美女被久久久| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美aa在线观看| 日韩国产一区| 亚洲高清成人| 亚洲小说春色综合另类电影| 男女精品网站| 亚洲欧洲日韩精品在线| 国产探花一区在线观看| 欧美日韩网址| www.九色在线| 亚洲欧美日韩国产一区| 国产日产精品_国产精品毛片| 精品国产一区二| 丝袜美腿一区| 99视频在线精品国自产拍免费观看| 四虎精品永久免费| 久久天堂影院| 婷婷亚洲五月色综合| 丝袜国产日韩另类美女| 国产激情精品一区二区三区| 高清日韩欧美| 天使萌一区二区三区免费观看| 日韩有吗在线观看| av最新在线| 欧美日韩激情| 日韩av电影一区| 香蕉成人av| 欧美日韩夜夜| 国产精品字幕| 国产日产精品_国产精品毛片 | 日韩专区一卡二卡| 91亚洲无吗| 91精品推荐| 伊人精品一区| 麻豆亚洲精品| 日韩av一区二区三区| 国产精品普通话对白| 国产精品精品国产一区二区| 蜜桃视频在线观看一区二区| 国产视频一区二区在线播放| av高清一区| 国产中文在线播放| 麻豆一区二区99久久久久| 在线精品视频一区| 激情久久五月| 欧美亚洲国产一区| 999久久久精品国产| 成人在线视频区| 国产中文欧美日韩在线| 欧美日韩亚洲一区| 蜜臀av亚洲一区中文字幕|