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

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

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

將類文件打包為jar包

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

說做就做。

1.寫類文件

大概就這么個樣子。

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

本例中的外部依賴包為: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 . 會在當前執(zhí)行目錄下生成 一個java所在的包名的(這里我的是test)目錄,以及編譯后的class文件
  • 指定要被編譯的java文件

這樣就編譯為class文件了

3.測試

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

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

這樣測試就通過了。

4.打jar包

jar -cvf cipher.jar CipherTest.class

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

進入META-INF查看文件:

接下來對這個文件進行處理:

添加字段:

添加:

Main-Class: CipherTest

注意冒號后面有個空格,這個是指定主類,即啟動類。

Class-Path: commons-codec-1.14.jar

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

之后將依賴包拖入jar包。

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

最后運行jar包,正常工作。

jar包應該怎么打?

1.首先確保你的項目

能正常啟動并運行

2.選中你的項目,點右鍵

選export(導出),如下圖:

3.選擇runnable jar file

下一步,如下圖:

4.如下圖,直接看圖

5.然后點finish

后面一路過,不用管警告,一直點OK!

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

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

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

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

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

再看另一種方式:

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

兩種方式都能正常啟動,只是方式不一樣?。?!

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

相關(guān)文章

  • IntelliJ IDEA本地代碼提交到github網(wǎng)站不顯示與本地不同步問題的解決辦法

    IntelliJ IDEA本地代碼提交到github網(wǎng)站不顯示與本地不同步問題的解決辦法

    今天小編就為大家分享一篇關(guān)于IntelliJ IDEA本地代碼提交到github網(wǎng)站不顯示與本地不同步問題的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Spring Boot如何使用HikariCP連接池詳解

    Spring Boot如何使用HikariCP連接池詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot如何使用HikariCP連接池的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用springboot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • SpringBoot特點之依賴管理和自動裝配(實例代碼)

    SpringBoot特點之依賴管理和自動裝配(實例代碼)

    在使用SpringBoot的時候,會自動將Bean裝配到IoC容器中,操作也很簡單,今天小編給大家介紹下SpringBoot特點之依賴管理和自動裝配的知識,感興趣的朋友一起看看吧
    2022-03-03
  • springboot 中整合mybatis多數(shù)據(jù)源不使用JPA

    springboot 中整合mybatis多數(shù)據(jù)源不使用JPA

    這篇文章主要介紹了springboot 中整合mybatis多數(shù)據(jù)源不使用JPA,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 如何把idea中的項目導入github倉庫中(圖文詳解)

    如何把idea中的項目導入github倉庫中(圖文詳解)

    這篇文章主要介紹了如何把idea中的項目導入github倉庫中,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • java Arrays快速打印數(shù)組的數(shù)據(jù)元素列表案例

    java Arrays快速打印數(shù)組的數(shù)據(jù)元素列表案例

    這篇文章主要介紹了java Arrays快速打印數(shù)組的數(shù)據(jù)元素列表案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 鏈表的原理及java實現(xiàn)代碼示例

    鏈表的原理及java實現(xiàn)代碼示例

    這篇文章主要介紹了鏈表的原理及java實現(xiàn)代碼示例,涉及單向鏈表的基本介紹,單向鏈表的Java實現(xiàn)代碼分享等相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以參考下。
    2017-11-11
  • Java中的notyfy()和notifyAll()的本質(zhì)區(qū)別

    Java中的notyfy()和notifyAll()的本質(zhì)區(qū)別

    很多朋友對java中的notyfy()和notifyAll()的本質(zhì)區(qū)別不了解,今天小編抽空給大家整理一篇教程關(guān)于Java中的notyfy()和notifyAll()的本質(zhì)區(qū)別,需要的朋友參考下吧
    2017-02-02
  • 解決idea 從mapper方法直接點進xml文件的問題

    解決idea 從mapper方法直接點進xml文件的問題

    這篇文章主要介紹了解決idea 從mapper方法直接點進xml文件的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • this關(guān)鍵字詳解

    this關(guān)鍵字詳解

    這篇文章主要介紹了this關(guān)鍵字,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03

最新評論