Java在制作jar包時引用第三方j(luò)ar包的方法
我用的是Eclipse打包,但在CMD窗口執(zhí)行的時候報“ActiveMQ.jar中沒有主清單屬性”錯誤。
在網(wǎng)上搜了下,這個與MANIFEST.MF文件有關(guān),該文件沒有定義MAIN方法所在類的路徑,利用好壓打開jar包,果然如此。里面只有一行
Manifest-Version: 1.0
需添加Main-Class。在本例中,添加如下:
Main-Class: com.luoluo.TestUse.activemq.ActiveMQStateMain
上面,有幾點需要注意:
1. Main-Class:和com.luoluo.TestUse.activemq.ActiveMQStateMain中間必須有個空格,切記。
2. com.luoluo.TestUse.activemq是該類的包名,ActiveMQStateMain是main方法所在的類名,注意:后面不用加上.java或.class。
3. 如果不引用第三方包,需回車讓光標(biāo)到下一行。不然還是會報“ActiveMQ.jar中沒有主清單屬性”錯誤。如果引用了第三方包,在Class-Path后面回車,總之,在指定了相關(guān)的參數(shù)后,均需要回車讓光標(biāo)到下一行。
上面的只是定義了主類,如果引用了第三方包,則會報以下錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/activemq/broker/jmx/BrokerViewMBean
這時,需在MANIFEST.MF文件中定義Class-Path。在本例中,添加如下:
Class-Path: lib/activemq-all-5.12.1.jar
注意:Class-Path和lib/activemq-all-5.12.1.jar之間也同樣需要個空格。
同時,在jar包的同層目錄下,新建一個lib文件夾,將activemq-all-5.12.1.jar copy到里面去。
譬如,在本例中,jar包是在C:\Users\Victor\Desktop下,則需在C:\Users\Victor\Desktop目錄下新建一個lib文件夾,將相應(yīng)的第三包放里面去。
前者是打包的jar包,后者是lib文件夾,里面放的是第三方j(luò)ar包。
最后,MANIFEST.MF文件中的內(nèi)容如下:
最后執(zhí)行的結(jié)果如下:
以上內(nèi)容給大家分享的Java在制作jar包時引用第三方j(luò)ar包的方法,希望大家喜歡。
相關(guān)文章
認(rèn)識Java底層操作系統(tǒng)與并發(fā)基礎(chǔ)
這篇文章主要介紹了認(rèn)識Java底層操作系統(tǒng)與并發(fā)基礎(chǔ),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-07-07SpringMVC將請求和響應(yīng)的數(shù)據(jù)轉(zhuǎn)換為JSON格式的幾種方式
這篇文章主要給大家介紹餓了SpringMVC將請求和響應(yīng)的數(shù)據(jù)轉(zhuǎn)換為JSON格式的幾種方式,文中通過代碼示例和圖文結(jié)合給大家介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下2023-11-11