欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java創(chuàng)建可執(zhí)行的Jar文件的方法實(shí)踐

 更新時(shí)間:2023年12月24日 16:58:31   作者:張知文  
創(chuàng)建的可執(zhí)行Jar文件實(shí)際就是在原始Jar的清單文件中添加了Main-Class的配置,本文主要介紹了Java創(chuàng)建可執(zhí)行的Jar文件的方法實(shí)踐,感興趣的可以了解一下

在Java中,通常將多個(gè)類合并到一個(gè).jar(“ java歸檔文件”)文件中。庫(kù)類以這種方式存儲(chǔ)。較大的項(xiàng)目使用jar文件。您也可以創(chuàng)建結(jié)合了多個(gè)類的自己的jar文件。

jar文件是使用JDK的jar.exe實(shí)用程序創(chuàng)建的。 通過(guò)告訴jar.exe哪個(gè)類具有main,可以使jar文件可運(yùn)行。 為此,您需要?jiǎng)?chuàng)建一個(gè)清單文件。 清單是帶有“ Main-Class”指令的單行文本文件。 例如:

Main-Class: io.github.jast90.test.Main

該行必須以換行符結(jié)尾。(即:多一行)

用主類清單創(chuàng)建的jar文件既可以用作庫(kù),也可以用作可運(yùn)行的jar。 如果將其用作庫(kù),則可以編輯和編譯jar中包含的任何類,然后將其添加到您的項(xiàng)目中。 然后它將覆蓋jar文件中的那個(gè)。

您可以在任何文本編輯器中創(chuàng)建清單文件,甚至可以使用MS-DOS echo命令創(chuàng)建清單文件。 您可以為清單文件指定任何名稱,但最好使用一些標(biāo)準(zhǔn)名稱,例如manifest.txt。

有了清單并編譯完所有類后,您需要運(yùn)行JDK的jar.exe實(shí)用程序。 它位于JDK的bin文件夾中,與javac.exe和java.exe相同。 jar.exe接受命令行參數(shù); 如果不帶任何參數(shù)運(yùn)行它,它將顯示用法信息和示例。 你需要

jar cvfm MyJarName.jar manifest.txt *.class

cvfm的意思是“創(chuàng)建一個(gè)jar;顯示詳細(xì)輸出;指定輸出jar文件名;指定清單文件名。” 這之后是您希望為jar文件指定的名稱,清單文件的名稱以及要包含在jar中的.class文件的列表。 * .class表示當(dāng)前目錄中的所有類文件。

實(shí)際上,如果清單僅包含Main-Class指令,則可以使用e開關(guān)(而不是m)直接在jar.exe的命令行上指定主類。 這樣就不需要單獨(dú)的清單文件了; jar將為您添加所需的清單到您的jar文件中。 例如:

jar cvfe MyJarName.jar MyMainClass *.class

以下是在Eclipse中創(chuàng)建jar文件的參考,IntelliJ DEA中創(chuàng)建Jar文件的參考,在Maven創(chuàng)建Jar文件的參考,以及在命令提示符和JCreator中執(zhí)行此操作的詳細(xì)步驟。

在Eclipse中創(chuàng)建jar文件

在Eclipse幫助內(nèi)容中,展開“ Java開發(fā)用戶指南” ==>“Tasks” ==>“Creating JAR files.”。按照“Creating a new JAR file”或“Creating a new runnable JAR file.”中的說(shuō)明進(jìn)行操作。
出于某種原因,JAR File和Runnable JAR File命令位于File菜單下:?jiǎn)螕鬍xport …并展開Java節(jié)點(diǎn)。

在IntelliJ DEA中創(chuàng)建Jar文件

File -> Project Structure…->Project Settings->Artifacts-> + ->jar-> 選擇From modules with dependencies…->選擇module、Main Class、JAR files from libraries -> 勾選include in project build

在Maven創(chuàng)建Jar文件

在pom.xml文件中的maven-jar-plugin中指定mainClass,如下:

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-jar-plugin</artifactId>
	<configuration>
		<archive>
			<manifest>
				<mainClass>io.github.jast90.java.api.HashMapAnalyzer</mainClass>
			</manifest>
		</archive>
	</configuration>
</plugin>

在JCreator中創(chuàng)建一個(gè)jar文件

您可以配置一個(gè)“tool”,以自動(dòng)執(zhí)行jar創(chuàng)建過(guò)程。您只需要做一次。

  • 單擊Configure/Options
  • 單擊左欄中的Tools。
  • 單擊New,然后選擇Create Jar file。
  • 在Tools下方的左列中,單擊新創(chuàng)建的條目Create Jar File。
  • 編輯標(biāo)有“Arguments:”的中間行:輸入
cvfm $[PrjName].jar manifest.txt *.class
  • 單擊OK。
    現(xiàn)在為您的程序設(shè)置一個(gè)項(xiàng)目,創(chuàng)建一個(gè)清單文件manifest.txt或復(fù)制并編輯一個(gè)現(xiàn)有的項(xiàng)目。 將manifest.txt放在.class文件所在的文件夾中。 在“ View/Toolbars”下,選中“Tools”工具欄。 單擊相應(yīng)的tool按鈕,或者按Ctrl-1(如果這是第n個(gè)工具,則按Ctrl-n)以運(yùn)行“創(chuàng)建Jar文件”工具。

使用Windows資源管理器,轉(zhuǎn)到您剛創(chuàng)建的jar文件,然后雙擊運(yùn)行它。

在命令提示符下創(chuàng)建jar文件

  • 啟動(dòng)命令提示符。
  • 導(dǎo)航到保存您的類文件的文件夾:
C:\>cd \mywork
  • 設(shè)置路徑以包含JDK的bin。例如:
C:\mywork> path c:\Program Files\Java\jdk1.7.0_25\bin;%path%
  • 編譯你的類
C:\mywork> javac *.java
  • 創(chuàng)建一個(gè)清單文件和您的jar文件:
C:\mywork> echo Main-Class: io.github.jast90.test.Main >manifest.txt
C:\mywork> jar cvfm Craps.jar manifest.txt *.class

或者
C:\mywork> jar cvfe Craps.jar Craps *.class
  • 測(cè)試你的jar
C:\mywork> Craps.jar

或者
C:\mywork> java -jar Craps.jar

參考

到此這篇關(guān)于Java創(chuàng)建可執(zhí)行的Jar文件的方法實(shí)踐的文章就介紹到這了,更多相關(guān)Java創(chuàng)建可執(zhí)行Jar文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • 如何基于JWT實(shí)現(xiàn)接口的授權(quán)訪問(wèn)詳解

    如何基于JWT實(shí)現(xiàn)接口的授權(quán)訪問(wèn)詳解

    授權(quán)是最常見的JWT使用場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何基于JWT實(shí)現(xiàn)接口的授權(quán)訪問(wèn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • java如何分布式鎖實(shí)現(xiàn)和選型

    java如何分布式鎖實(shí)現(xiàn)和選型

    文章介紹了分布式鎖的重要性以及在分布式系統(tǒng)中常見的問(wèn)題和需求,它詳細(xì)闡述了如何使用分布式鎖來(lái)確保數(shù)據(jù)的一致性和系統(tǒng)的高可用性,文章還提供了基于數(shù)據(jù)庫(kù)、Redis和Zookeeper的分布式鎖實(shí)現(xiàn)示例,分析了每種方法的優(yōu)點(diǎn)和缺點(diǎn)
    2025-01-01
  • Springboot中com.mysql.cj.jdbc.Driver在yml文件中爆紅的原因解讀

    Springboot中com.mysql.cj.jdbc.Driver在yml文件中爆紅的原因解讀

    這篇文章主要介紹了Springboot中com.mysql.cj.jdbc.Driver在yml文件中爆紅的原因解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Java設(shè)計(jì)模式之備忘錄模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院

    Java設(shè)計(jì)模式之備忘錄模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院

    我們?cè)诰幊痰臅r(shí)候,經(jīng)常需要保存對(duì)象的中間狀態(tài),當(dāng)需要的時(shí)候,可以恢復(fù)到這個(gè)狀態(tài)。接下來(lái)通過(guò)本文給大家分享java設(shè)計(jì)模式之備忘錄模式,感興趣的的朋友一起看看吧
    2017-08-08
  • servlet上傳文件實(shí)現(xiàn)代碼詳解(四)

    servlet上傳文件實(shí)現(xiàn)代碼詳解(四)

    這篇文章主要為大家詳細(xì)介紹了servlet上傳文件的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • java中各種對(duì)象的比較方法

    java中各種對(duì)象的比較方法

    Java對(duì)象的比較是初學(xué)者不易掌握的,下面這篇文章主要給大家介紹了關(guān)于java中各種對(duì)象的比較方法,文中通過(guò)實(shí)例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 淺談Java中return和finally的問(wèn)題

    淺談Java中return和finally的問(wèn)題

    在Java中當(dāng)try、finally語(yǔ)句中包含return語(yǔ)句時(shí),執(zhí)行情況到底是怎樣的,finally中的代碼是否執(zhí)行,大家眾說(shuō)紛紜,有的說(shuō)會(huì)執(zhí)行,有的說(shuō)不會(huì)執(zhí)行,到底哪種說(shuō)法正確,下面我們來(lái)詳細(xì)討論下
    2015-10-10
  • 在Spring框架下配置Quartz集群的詳細(xì)步驟(MySQL數(shù)據(jù)源)

    在Spring框架下配置Quartz集群的詳細(xì)步驟(MySQL數(shù)據(jù)源)

    Quartz 是一個(gè)功能強(qiáng)大的調(diào)度庫(kù),可以在 Java 應(yīng)用中用于執(zhí)行定時(shí)任務(wù),本文將介紹如何在 Spring 框架下配置 Quartz 集群,并使用 MySQL 作為數(shù)據(jù)源來(lái)存儲(chǔ)調(diào)度信息,文中有詳細(xì)的代碼供大家參考,需要的朋友可以參考下
    2025-01-01
  • Java微信公眾平臺(tái)之群發(fā)接口(高級(jí)群發(fā))

    Java微信公眾平臺(tái)之群發(fā)接口(高級(jí)群發(fā))

    這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺(tái)之群發(fā)接口,高級(jí)群發(fā)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Spring Boot中使用Activiti的方法教程(二)

    Spring Boot中使用Activiti的方法教程(二)

    工作流(Workflow),就是“業(yè)務(wù)過(guò)程的部分或整體在計(jì)算機(jī)應(yīng)用環(huán)境下的自動(dòng)化”,下面這篇文章主要給大家介紹了關(guān)于Spring Boot中使用Activiti的相關(guān)資料,需要的朋友可以參考下
    2018-08-08

最新評(píng)論