解決java專案打jar包,專案中引用有其他jar包的問題
大家都知道一個Java應用專案可以打包成一個jar,當然你必須指定一個擁有main函式的main class作為你這個jar包的程式入口。
具體的方法是修改jar包內目錄META-INF下的MANIFEST.MF檔案。
比如有個叫做test.jar的jar包,裡面有一個擁有main函式的main class:test.someClassName
我們就只要在MANIFEST.MF裡面新增如下一句話,就是執行的類的位置。
Main-Class: test.someClassName
然後我們可以在控制檯裡輸入java -jar test.jar即可以執行這個jar。
但是我們這個專案需要引用其他第三方的jar包,在eclipse裡面以專案jar包的形式引用了這個叫做some.jar的包,當時放在專案的lib子目錄下,最後專案打包時把這個some.jar也打進來了,但是用java -jar執行這個test.jar的時候報找不到Class異常,原因就是jar引用不到放在自己內部的jar包。
那怎麼辦?
執行時將其加入classpath的方式行不行?就是在執行jar的同時加入classpath引數:
java -classpath some.jar -jar test.jar
這種方式應該能解決問題吧,試一下,還是不行。
查了下資料,原來使用java -jar 命令執行jar包時classpath引數將會失效,所以,這種方式也不行。
那該怎麼引用其他的jar包呢,答案還是在這個目錄META-INF下的MANIFEST.MF檔案中。jar包引用其他jar包的資訊必須在這個檔案中宣告。
我們在MANIFEST.MF中新增如下程式碼:
Class-Path: lib/some.jar
lib是和test.jar同目錄的一個子目錄,把需要引用的jar包放到lib資料夾下,test.jar要引用的some.jar包就在這裡面。
然後測試執行,一切正常!
如果有多個jar包需要引用的情況:
Class-Path: lib/some.jar lib/some2.jar
每個單獨的jar用空格隔開就可以了。
相關推薦
解決java專案打jar包,專案中引用有其他jar包的問題
大家都知道一個Java應用專案可以打包成一個jar,當然你必須指定一個擁有main函式的main class作為你這個jar包的程式入口。 具體的方法是修改jar包內目錄META-INF下的MA
將java專案打包成jar,war包,等 web工程打包成jar war
今天boss給我一段原始碼,讓匯出一個包來給現場,和現場溝通後,現場需要war包 我就開始了百度之旅,用網上普遍的方法,發現總是報 這總錯,後來google發現一個dos命令的方式,匯出 詳細請見原文:http://shuyangyang.blog.51ct
解決AndroidStudio從網路引入三方jar包,專案中無法找到類問題
AndroidStudio是一個神器的編譯器,感覺用起來會被各種坑,最近開發專案被它虐成狗。有的時候遇到各種奇奇怪怪的問題,讓你度娘都找不到答案。今天就講一下使用Studio從網路引入三方jar包檔案,明明程式碼引入全都有,但是就是找不到類,這個時候各種 Cl
Java POI對Excel操作,專案開發中遇到的問題,及解決方案
java POI官網地址,裡面有介紹POI的使用,以及各種例子程式碼:說下在專案開發中遇到的java操作Excel的棘手問題,以及解決方案:首先記下2007版及以上Excel版本(.xlsx)的檔案讀取、輸出程式碼:讀取:public static Workbook getT
maven倉庫有jar包,專案無法找到jar
1、這種情況 可能是SVN down下來的不是最新的jar包可能會導致此問題。 這種就需要找到最新的jar 然後放到你本地maven倉庫 然後重新build下。如果還不行的話,就在就在這個地方 新增對應的jar然後應用一下,確定 應該就可以了
java動態載入指定的類或者jar包反射呼叫其方法-涉及其他jar中的類就報ClassNotFound問題分析及解決思路
在這篇博文中java動態載入指定的類或者jar包反射呼叫其方法,介紹動態載入指定的類,當時我是拿URLClassLoader介紹的,當然可以自定義一個ClassLoader重寫對應的方
Android 將Android專案打包成aar檔案並在其他專案中引用,打包成jar包
首先說一下jar包和aar包有什麼區別? 1.打包之後生成的檔案地址: *.jar:庫/build/intermediates/bundles/debug(release)/classes.jar *.aar:庫/build/outputs/aar/l
Eclipse 打jar包,並且在win7 下執行jar檔案,MANIFEST.MF檔案指定執行入口
1:為即將匯出的java專案新增一個檔案,檔名為:MANIFEST.MF 這個檔案可以定義jar包的一些引數,主要是jar檔案執行入口; 檔案內容為: Manifest-Version: 1.0 Class-Path: . Main-Class: test 將tes
maven包依賴問題(找不到對應的包,專案引用報錯,無法編譯)
解決maven中jar包依賴報錯問題方法(以idea開發為例): 1.比較繁瑣,不一定管用 1.1 定位到包路徑,圖中有紅線位置。 1.2 在本地maven倉庫查詢該檔案是否存在,如過存在,再檢視該檔案內容,是否將依賴jar包拉取到本地。 1.3
gradle 添加jar依賴,執行grade build時出現“程序包不存在”問題
rep div epo 5.4 程序包 yun pan 引用 問題 引用的第三方依賴的包都找不到了 解決辦法 group‘com.suneony‘ version‘1.0.0‘ apply plugin:‘java‘ repositories { ma
maven工程依賴的jar包,在本地倉庫有,但是pom.xml文件卻報錯找不到jar包
其中 -keep idt -i alt nexus handler reset and 問題描述: ? 第一時間查看本地倉庫,發現明明有卻還報錯 ? 解決方案: 查看錯誤依賴的_remote.repositories文件 ? 正常以來的的_remote.repositori
springboot聚合專案整合redis時候,專案出現class找不到的問題
微服務之前也一直聽說過,但是一直沒有機會用。剛好,想把公司最近基於ssm的分散式專案,重構成微服務的。網上看了一些教程。話不多說就準備弄了。 整合後,發現專案一直報找不到redis對應的class檔案的問題。 解決過程: 1.1試過在manage的後臺,檢查了common的jar
maven工程依賴的jar包,在本地倉庫有,但是pom.xml檔案卻報錯找不到jar包
例如:Missing artifact com.ibm.db2:db2jcc_license_cisuz:jar:10.1 但在我本地的倉庫中卻存在這個jar包,查找了很多的資料發現了兩種解決方法:第一種: 在eclipse中的window->show view-
現在沒有可用的軟體包 *** ,但是它被其它的軟體包引用了 和 E: 無法定位軟體包 ***問題解決(思路清晰乾貨)
問題現象 [email protected]virtual-machine:~/snort_src# apt-get install bison flex 正在讀取軟體包列表... 完成 正在分析軟體包的依賴關係樹 正在讀取狀態資訊... 完成
用Ant打Jar包--在Manifest中引用Classpath(轉載)
在打jar包時,往往需要在manifest檔案中設定Class-Path,包含一些依賴的第三方jar包,使得以“java -jar xxx.jar”方式啟動的jar包能正確找到依賴的類。 網上大多演示使用打jar包的例子都是像這樣的: <target name="jar" >
eclipse maven 明明已經引入了jar包,程式碼中卻也沒提提示,檢測不到jar包
eclipse maven 明明已經引入了jar包,而且已經引入libraries目錄了,但程式碼中卻也沒提提示,檢測不到jar包 這是為什麼呢?廢話少說 我認為這是eclipse的一個bug,有兩個解決方法可以試試 方法一,將poem.xml的依賴包降級再升級; 方法
SSH整合Maven,Maven常引用到的Jar包
在eclipse開發的時候要引入許多的jar包,但是當引入jar包增多的時候,或者版本升級的時候,這個時候下面的依賴包會發生衝突,這個排查工作是非常繁瑣的。因此使用Maven可以避免這些不必要的工作量。Maven的jar包配置檔案在pom.xml中,平時對SSh
13.9-全棧Java筆記:打飛機遊戲實戰項目|Time|Plane|其他案例展示
java其他功能完成了基本的功能,這時候體驗度還是很一般。為了讓玩家更願意玩我們的遊戲,增加一些錦上添花的功能就很有必要。比如:遊戲計時功能、全網排名等等。 計時功能我們希望在玩遊戲時,增加計時功能,可以清晰的看到自己玩了多長時間,增加刺激性。這個功能的核心有兩點:1. 時間計算:當前時刻- 遊戲結束的時刻2
java中方法重載是什麽, 實際中到底有什麽意義, 用處?請舉例
視頻 http dex [] sta 方法名 ret tro www. 7.3 方法重載(overload) (視頻下載) (全部書籍) 當幾個方法有相同的方法名,但參數個數不同或參數類型不同時,就涉及方法重載 方法重載有什麽意義呢?在公司裏編程,有時候一個
顫抖吧!阿里出了個不明覺厲的技術學習包,光PPT就有2個G
PPT資料及視訊下載地址,詳見文中。 在浩大的計算機世界裡,作為一名普通程式設計師,你是否有過焦慮和迷茫? 我們內心崇拜技術,卻也對日新月異的技術抱有深深的恐懼。技術市場就像喜怒不定的老天爺,今天下個大資料雨,明天掛個人工智慧風。面對琳琅滿目的技術衝擊,我們時不時感到力不從心。幾年過去,除