摘要:背景介紹將程序打包,無論是為了代碼復(fù)用,還是發(fā)布應(yīng)用,都是必不可少的的技能,上次總結(jié)了一下利用打包成,這次我來說如何打包。導(dǎo)入往往我們使用打包不只是為了雙擊使用,有時(shí)也是為了代碼復(fù)用。礙于時(shí)間關(guān)系,將留待下一篇文章進(jìn)行總結(jié)。
背景介紹
將程序打包,無論是為了代碼復(fù)用,還是發(fā)布應(yīng)用,都是必不可少的的技能,上次總結(jié)了一下python利用cxfreeze打包成exe,這次我來說java如何打包。
和python不同,java自帶的jar命令功能很強(qiáng)大,我們并不需要第三方的軟件就可以進(jìn)行打包。
需要補(bǔ)充說明一下這里的打包指的是將一系列class文件打包成jar文件,并不指打包成exe文件,如果需要打包成exe可以使用,可以使用exe4j制作,地址點(diǎn)這里。
本文對(duì)打包成exe文件的方法不作介紹。
什么是jarJAR(Java Archive,Java 歸檔文件)是與平臺(tái)無關(guān)的文件格式,它允許將許多文件組合成一個(gè)壓縮文件。
注意了,jar是一個(gè)壓縮文件,有不少剛學(xué)習(xí)java的同學(xué)都好奇要如何打開jar文件,事實(shí)上使用7-zip,WinRAR等就可以打開,當(dāng)然了jar并不是為了給你這么用的。
如何制作jar本文將講解使用eclipse制作jar,至于在命令行下如何用jar命令以后再細(xì)說。
使用eclipse制作jar 制作普通的jar文件文件->導(dǎo)出->java->選擇jar文件(可運(yùn)行jar文件下面會(huì)總結(jié))
下一步(直到?jīng)]有下一步可選)就是選擇需要打包的資源,以及路徑等相關(guān)配置,這個(gè)按需選擇即可。
隨后選擇完成即可,一個(gè)jar文件就產(chǎn)生了耶( ?? ω ?? )y
總的來說,打包普通jar文件使用eclipse打包比較傻瓜化,下面說說制作可以運(yùn)行的jar
制作可運(yùn)行的jar文件文件->導(dǎo)出-->java->選擇可運(yùn)行jar文件
主要區(qū)別的是需要配置啟動(dòng)配置,也就是你main方法的那個(gè)類,其余配置也可以按需配置即可。
隨后選擇完成即可,一個(gè)可運(yùn)行jar文件就產(chǎn)生了耶( ?? ω ?? )
雙擊看看,怎么沒反應(yīng)?
原因很簡(jiǎn)單,可運(yùn)行jar文件是映射給javaw.exe運(yùn)行的,而javaw.exe和python中pyw格式是一樣的,即隱藏掉控制臺(tái),顯示你自己繪制的GUI程序,所以如果你的程序沒有提供GUI,那么就會(huì)什么也不顯示。
那么是不是就無法運(yùn)行沒有提供的GUI文件了嗎?
答案當(dāng)然是否定的。
你只需在命令行下進(jìn)入相對(duì)應(yīng)的目錄,使用以下命令
java -jar yourJarName.jar
即可在控制臺(tái)中看到結(jié)果
顯然,可運(yùn)行jar與普通的jar文件差別只在于你是否提供了具有main方法的那個(gè)類。
導(dǎo)入jar往往我們使用jar打包java不只是為了雙擊使用,有時(shí)也是為了代碼復(fù)用。既然是為了復(fù)用,自然就意味著我們需要將打包好了jar文件導(dǎo)入工程中
eclipse中導(dǎo)入jar的操作依舊很傻瓜化。
現(xiàn)在工作目錄下新建一個(gè)文件夾,用于管理導(dǎo)入jar文件
在左邊資源管理器中,單擊新建的文件夾->導(dǎo)入->常規(guī)->文件系統(tǒng)。
選擇你要導(dǎo)入的jar文件。
在新建的文件夾中看到你添加進(jìn)的jar文件,就成功了一半了。
這時(shí)你需要單擊jar文件,在彈出菜單中選中構(gòu)建路徑->添加到構(gòu)建路徑后,在引用的庫下看到這個(gè)jar文件,就完全成功了。
此后,你就可以使用import語句來使用你之前打包好的類了耶( ?? ω ?? )。
關(guān)于在eclipse導(dǎo)入jar還有其他方法,詳細(xì)可查看他人的博客,本文只選擇容易操作的進(jìn)行總結(jié)。
尾聲eclipse導(dǎo)入jar的三種方法
eclipse雖然使得打包jar文件變得非常簡(jiǎn)單,但有些時(shí)候我們還需要在命令行下用java自帶的jar命令來進(jìn)行打包。礙于時(shí)間關(guān)系,將留待下一篇文章進(jìn)行總結(jié)。
新人寫完只是為了幫助更新的人,如果有不足的地方,望指正。如果有幫助,歡迎收藏推薦和關(guān)注本專欄。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/65483.html
摘要:前言昨天總結(jié)了使用進(jìn)行打包今天說一下命令行下使用命令進(jìn)行打包。在命令行下打包需要比使用這些成熟的工具更需要注意一些東西,但打包和使用總體來說都不算太復(fù)雜,下面慢慢講述。第三行指定主類所在類路徑。第四行指明程序運(yùn)行的主類。 前言 昨天總結(jié)了使用eclipse進(jìn)行jar打包,今天說一下命令行下使用jar命令進(jìn)行打包。 在命令行下打包jar需要比使用eclipse這些成熟的工具更需要注意一些...
摘要:用于將集成至標(biāo)準(zhǔn)的構(gòu)建生命周期中,此時(shí)執(zhí)行時(shí)就會(huì)執(zhí)行指定的操作,從而實(shí)現(xiàn)自定義打包。插件的已棄用會(huì)自動(dòng)執(zhí)行生命周期。可執(zhí)行文件執(zhí)行時(shí)出現(xiàn)亂碼使用生成的可執(zhí)行文件,在中執(zhí)行時(shí)出現(xiàn)亂碼,項(xiàng)目編碼統(tǒng)一為,日志使用框架。得到的是當(dāng)前的絕對(duì)路徑。 「博客搬家」 原地址: 簡(jiǎn)書 原發(fā)表時(shí)間: 2017-04-06 1. 設(shè)置 Java JDK 的版本為「JDK 1.8」 可以修改 pom.x...
摘要:本文主要介紹了利用生態(tài)系統(tǒng)構(gòu)建微服務(wù)的多種方法,并分析了每種方法的利弊。也不例外,本文探討了使用生態(tài)系統(tǒng)來構(gòu)建微服務(wù)的幾種不同方式。另一種單部署就是使用一個(gè)嵌入式框架來構(gòu)建服務(wù)。在中,和項(xiàng)目對(duì)構(gòu)建微服務(wù)提供了很好的支持。 【編者按】微服務(wù)背后的大理念是將大型、復(fù)雜且歷時(shí)長久的應(yīng)用在架構(gòu)上設(shè)計(jì)為內(nèi)聚的服務(wù),這些服務(wù)能夠隨著時(shí)間的流逝而演化。本文主要介紹了利用 Java 生態(tài)系統(tǒng)構(gòu)建微服務(wù)...
摘要:的打包結(jié)構(gòu)改動(dòng)是這個(gè)引入的這個(gè)的本意是簡(jiǎn)化的繼承關(guān)系,以一種直觀的優(yōu)先的方式來實(shí)現(xiàn),同時(shí)打包結(jié)構(gòu)和傳統(tǒng)的包應(yīng)用更接近。目前的繼承關(guān)系帶來的一些影響有很多用戶可能會(huì)發(fā)現(xiàn),一些代碼在里跑得很好,但是在實(shí)際部署運(yùn)行時(shí)不工作。 前言 對(duì)spring boot本身啟動(dòng)原理的分析,請(qǐng)參考:http://hengyunabc.github.io/s... Spring boot里的ClassLoad...
摘要:時(shí)間年月日星期二說明本文部分內(nèi)容均來自慕課網(wǎng)。項(xiàng)目一個(gè)項(xiàng)目代表一個(gè)正在構(gòu)建的組件比如一個(gè)文件,當(dāng)構(gòu)建啟動(dòng)后,會(huì)基于實(shí)例化一個(gè)類,并且能夠通過變量使其隱式可用。任務(wù)動(dòng)作定義了一個(gè)最小的工作單元。 時(shí)間:2017年05月16日星期二說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示例源碼:無個(gè)人學(xué)習(xí)源碼:https://github.com/zccod...
閱讀 2099·2021-11-24 09:39
閱讀 1568·2021-10-11 10:59
閱讀 2513·2021-09-24 10:28
閱讀 3387·2021-09-08 09:45
閱讀 1279·2021-09-07 10:06
閱讀 1674·2019-08-30 15:53
閱讀 2070·2019-08-30 15:53
閱讀 1427·2019-08-30 15:53