最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何實(shí)現(xiàn)將類文件打包為jar包

 更新時(shí)間:2022年06月07日 17:06:17   作者:enjoy囂士  
這篇文章主要介紹了Java如何實(shí)現(xiàn)將類文件打包為jar包,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

將類文件打包為jar包

為實(shí)際項(xiàng)目寫了一個(gè)工具類,但是每次使用時(shí)都需要打開項(xiàng)目點(diǎn)擊運(yùn)行。突然想,不如將這個(gè)類打成jar包這樣后續(xù)就可以直接運(yùn)行了。

說做就做。

1.寫類文件

大概就這么個(gè)樣子。

注意,這里用到了外部依賴,也就是為什么要寫這篇文章的原因。

本例中的外部依賴包為:commons-codec-1.14.jar

2.編譯

javac -encoding UTF-8 -classpath .;./commons-codec-1.14.jar -d . CipherTest.java

或者:

javac -encoding UTF-8 -cp .;./commons-codec-1.14.jar -d . CipherTest.java

  • encoding 防止中文亂碼
  • -classpath 指定class文件路徑
  • -d . 會(huì)在當(dāng)前執(zhí)行目錄下生成 一個(gè)java所在的包名的(這里我的是test)目錄,以及編譯后的class文件
  • 指定要被編譯的java文件

這樣就編譯為class文件了

3.測(cè)試

java -cp .;commons-codec-1.14.jar CipherTest 11 22 33

  • -cp 指定依賴包,多個(gè)用;分割
  • CipherTest: 是運(yùn)行的主類,后面跟著命令行參數(shù)

這樣測(cè)試就通過了。

4.打jar包

jar -cvf cipher.jar CipherTest.class

執(zhí)行運(yùn)行,發(fā)現(xiàn)找不到主類。解壓查看jar包內(nèi)容如下:

進(jìn)入META-INF查看文件:

接下來對(duì)這個(gè)文件進(jìn)行處理:

添加字段:

添加:

Main-Class: CipherTest

注意冒號(hào)后面有個(gè)空格,這個(gè)是指定主類,即啟動(dòng)類。

Class-Path: commons-codec-1.14.jar

指定依賴包,默認(rèn)jar包根目錄,有多個(gè)依賴的話,Windows用;分隔。Linux用空格分隔。

之后將依賴包拖入jar包。

最終目錄結(jié)構(gòu):

最后運(yùn)行jar包,正常工作。

jar包應(yīng)該怎么打?

1.首先確保你的項(xiàng)目

能正常啟動(dòng)并運(yùn)行

2.選中你的項(xiàng)目,點(diǎn)右鍵

選export(導(dǎo)出),如下圖:

3.選擇runnable jar file

下一步,如下圖:

4.如下圖,直接看圖

5.然后點(diǎn)finish

后面一路過,不用管警告,一直點(diǎn)OK!

執(zhí)行完這5步,在自己上面選擇的路徑下面就會(huì)有相應(yīng)的jar包生成,如下圖:

下面,我們來詳細(xì)說明一下兩種打jar包的方式有什么區(qū)別

首先,用自己的壓縮工具打開剛才打成的jar包,可以看到一個(gè)MANIFEST.MF文件,如下圖:

打開它之后的部分信息如下:

可以看到,這種方式把引用的jar包和自己的jar包都混合到了一起?。ò研枰膉ar包和庫提取到j(luò)ar里)

再看另一種方式:

這種方式打成jar包后如下圖:(將需要的jar包和庫提取到子目錄中)

兩種方式都能正常啟動(dòng),只是方式不一樣?。?!

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • Java中redisTemplate注入失敗NullPointerException異常問題解決

    Java中redisTemplate注入失敗NullPointerException異常問題解決

    這篇文章主要介紹了Java中redisTemplate注入失敗NullPointerException異常問題解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-08-08
  • Java深入解析接口interface

    Java深入解析接口interface

    接口是Java中最重要的概念之一,它可以被理解為一種特殊的類,不同的是接口的成員沒有執(zhí)行體,是由全局常量和公共的抽象方法所組成,本文給大家介紹Java接口,感興趣的朋友一起看看吧
    2022-06-06
  • SpringBoot整合Liquibase實(shí)現(xiàn)對(duì)數(shù)據(jù)庫管理和遷移

    SpringBoot整合Liquibase實(shí)現(xiàn)對(duì)數(shù)據(jù)庫管理和遷移

    Liquibase是一個(gè)用于用于跟蹤、管理和應(yīng)用數(shù)據(jù)庫變化的開源工具,通過日志文件(changelog)的形式記錄數(shù)據(jù)庫的變更(changeset),然后執(zhí)行日志文件中的修改,將數(shù)據(jù)庫更新或回滾(rollback)到一致的狀態(tài),本文主要介紹SpringBoot與Liquibase的集成,需要的朋友可以參考下
    2024-11-11
  • Java線程安全問題的解決方案

    Java線程安全問題的解決方案

    這篇文章主要介紹了Java線程安全問題的解決方案,文章關(guān)于安全的問題的解決方案本文主要分享了三種方法,使用線程安全類,比如?AtomicInteger,使用線程本地變量?ThreadLocal,加鎖排隊(duì)執(zhí)行,三種方法的使用場(chǎng)景及區(qū)別需要的小伙伴可以參考一下
    2022-05-05
  • 從最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate

    從最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate

    本文會(huì)介紹從一個(gè)最基本的java工程,到Web工程,到集成Spring、SpringMVC、SpringDataJPA+Hibernate,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • Java中ArrayList集合的常用方法大全

    Java中ArrayList集合的常用方法大全

    這篇文章主要給大家介紹了關(guān)于Java中ArrayList集合的常用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Java實(shí)現(xiàn)的各種排序算法(插入排序、選擇排序算法、冒泡排序算法)

    Java實(shí)現(xiàn)的各種排序算法(插入排序、選擇排序算法、冒泡排序算法)

    本文是小編給大家?guī)淼膉ava各種排序算法知識(shí),包括插入排序、選擇排序算法、冒泡排序算法,代碼簡(jiǎn)單易懂,需要的朋友可以參考下
    2016-08-08
  • SpringMVC文件上傳功能實(shí)例解析

    SpringMVC文件上傳功能實(shí)例解析

    這篇文章主要介紹了SpringMVC文件上傳功能實(shí)例解析,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • 關(guān)于Spring框架中異常處理情況淺析

    關(guān)于Spring框架中異常處理情況淺析

    最近學(xué)習(xí)Spring時(shí),認(rèn)識(shí)到Spring異常處理的強(qiáng)大,這篇文章主要給大家介紹了關(guān)于Spring框架中異常處理情況的相關(guān)資料,通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • springboot?maven?plugin報(bào)紅的解決辦法

    springboot?maven?plugin報(bào)紅的解決辦法

    本文主要介紹了springboot?maven?plugin報(bào)紅的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評(píng)論

诸城市| 安岳县| 镇宁| 昭觉县| 民县| 万盛区| 丰宁| 永清县| 崇明县| 丰城市| 莲花县| 桐柏县| 鹤壁市| 和林格尔县| 佛冈县| 信宜市| 方城县| 内丘县| 宝鸡市| 四会市| 沧州市| 邵阳县| 沂水县| 土默特右旗| 镇沅| 图木舒克市| 寻乌县| 慈溪市| 焉耆| 克东县| 珲春市| 石柱| 揭东县| 太谷县| 桃江县| 丹巴县| 明水县| 临湘市| 巴中市| 叙永县| 观塘区|