java鏈式寫法jar(java鏈式結構)

本文目錄一覽:

JAVA代碼寫完如何做成Jar ????求詳細點的答案

我一直用eclipse來編寫java程序,最近對手機小程序特別感興趣,所以安裝了WTK和J2ME,通過MIDlet寫代碼,然後很順利的右擊之後就可以Greate Packge,然後生成jar文件,就可以啦~~只是個人意見~~

java怎麼打包成jar?

^^java教程^^《製作可執行JAR》本文闡述了如何把一個不可執行的 JAVAArchive(JAR)文件變成可執行,而不用直接操作manifest文件。你會學到寫出短小的一個程序,通過運行java-jar命令或在像windows一樣的操作系統裡面用雙擊鼠標運行任何JAR文件。

你可以很容易地把應用程序的一整套class文件和資源文件打包到一個JAR中。事實上這就是jar文件存在的一個目的。另外一個目的就是讓用戶能很容易地執行被打包到jar文件裡面的應用程序。那麼為什麼jar文件僅僅作為文件在整個java裡面佔據了次要的地位,而本地執行則被忽視?

要執行一個jar文件,你可以使用java命令的-jar選項。舉一個例子來說,假如你有個名叫myjar.jar的文件。這個jar是可以運行的,你可以運行它:java-jarmyjar.jar.另外一個辦法就是,當JavaRuntimeEnvironment(JRE)已經被安裝到一個像windows的操作系統上,將jar文件與JVM關聯(關聯 java.exe跟jar文件)在一起你就可以通過雙擊jar來運行這個應用程序。當然,jar文件必須是可執行的。

現在的問題是:如何做一個可以執行的jar?

manifest文件以及Main-class入口

在大多數jar中,都在一個叫META-INF的目錄裡面保存了一個叫MANIFEST.MF的文件。那個文件裡面,

包含了一個特殊表項名字叫Main-Class,告訴java-jar命令應該執行哪個class.

問題是你必須為manifest文件手工加入適當表項,而且必須在一定的位置和用一定的格式。不幸的是,不是每個人都喜歡打開寫字板編輯配置文件。

讓API幫你完成任務

自從java1.2發布以來,一個叫java.uil.jar包的出現,讓你能夠方便處理jar文件。(注意:該包基於java.util.zip)特別地,jar包讓你通過Mainfest類,可以容易操作那些manifest文件.

就讓我們用這個API寫一個程序吧。首先,這個程序必須知道三樣東西:

1。我們要使之可運行的jar文件。

2。運行jar的主類(這個類必須包含在jar中)。

3。輸出新jar文件的文件名,因為我們不能簡單地覆蓋原來的文件。

編寫程序

上面列表的三點要求將組成我們的程序的參數。現在,讓我們為這個程序選擇一個適當的名字。

MakeJarRunnable聽起來覺得怎樣?

為main方法檢查參數

假設我們的main方法入口點是一個標準的main(String[])方法。我們應該這樣檢查程序的參數:

if(args.length!=3){

System.out.println(“Usage:MakeJarRunnable” “jarfileMain-Classoutput”);

System.exit(0);

}

請注意參數列表是如何描述的,因為這在以下代碼中是很重要的。參數的次序和內容不是固定的;

然而,如果你要改變他們的話,要記住響應修改其他代碼。

訪問jar和jar的manifest文件

第一,我們必須創建一些了解jar和manifest的對象:

//CreatetheJarInputStreamobject,andgetitsmanifest

JarInputStreamjarIn=newJarInputStream(newFileInputStream(args[0]));

Manifestmanifest=jarIn.getManifest();

if(manifest==null){

//Thiswillhappenifnomanifestexists

manifest=newManifest();

}

設置Main-Class屬性

我們把Main-Class入口放到manifest文件的main屬性部分。一旦從manifest對象獲得這個屬性,就可以設置需要的 mainclass。然而,如果main-Class屬性已經存在原來的jar當中又如何呢?這裡我們只是簡單地輸出一個警告然後退出。我們能加入一個命令行參數告訴程序使用新的值,而代替了舊的那個:

Attributesa=manifest.getMainAttributes();

StringoldMainClass=a.putValue(“Main-Class”,args[1]);

//Ifanoldvalueexists,telltheuserandexit

if(oldMainClass!=null){

System.out.println(“Warning:oldMain-Classvalueis:”

oldMainClass);

System.exit(1);

}

輸出新的JAR

我們需要創建一個新的JAR文件,所以我們必須使用JarOutputStream類。注意:

我們必須確定我們不用跟輸入文件相同的名字作為輸出文件的名字。還有一個方案就是,程序應該考慮到一種情況,就是兩個jar文件都是相同的,促使用戶覆蓋原來的文件,如果他願意這麼做的話。然而,我在保留了這一點,作為讀者的一個練習。從如下代碼開始:

System.out.println(“Writingto” args[2] “…”);

JarOutputStreamjarOut=newJarOutputStream(newFileOutputStream(args[2]),manifest);

我們必須從輸入JAR寫每個表項到輸出的JAR,所以迭代每個表項:

//Createareadbuffertotransferdatafromtheinput

byte[]buf=newbyte[4096];

//Iteratetheentries

JarEntryentry;

while((entry=jarIn.getNextJarEntry())!=null){

//ExcludethemanifestfilefromtheoldJAR

if(“META-INF/MANIFEST.MF”.equals(entry.getName()))continue;

//WritetheentrytotheoutputJAR

jarOut.putNextEntry(entry);

intread;

while((read=jarIn.read(buf))!=-1){

jarOut.write(buf,0,read);

}

jarOut.closeEntry();

}

//Flushandcloseallthestreams

jarOut.flush();

jarOut.close();

jarIn.close();

完成程序

當然,我們必須把這些代碼放到一個類的main方法裡面,並且需要一大堆import代碼。完整程序:

程序使用例子

讓我們把這個程序應用到一個例子裡面來。假設你有一個應用程序,該程序的入口點是一個叫HelloRunnableWorld的類,再假設你已經創建了一個jar叫myjar.jar,包含了整個程序。運行MakeJarRunnable:

javaMakeJarRunnablemyjar.jarHelloRunnableWorldmyjar_r.jar

正如前面提到的,注意一下我的參數順序。如果你忘記了順序,沒有參數運行一下程序,它會響應出現一個用法提示信息。

嘗試對myjar.jar運行java-jar命令。然後對myjar_r.jar。注意區別不同!好了,你完成了這一切了,瀏覽一下每個jar的manifest文件(META-INF/MANIFEST.MF)

java怎麼轉化成jar以及jar簡介

Java文件轉化成har的步驟如下:

1、右鍵文件,點擊導出(Export);

2、選擇Java文件夾下的JAR file,點擊next;

3、在JAR file後面的文本框中選擇導出的位置;

4、接下來全部點擊next;

5、直到最後一個頁面時點擊finish;

6、完成。

接下來介紹下jar:

JAR 文件格式以流行的 ZIP 文件格式為基礎。與 ZIP 文件不同的是,JAR 文件不僅用於壓縮和發布,而且還用於部署和封裝庫、組件和插件程序,並可被像編譯器和 JVM 這樣的工具直接使用。

java中可將自己寫的代碼導成jar文件,下次需要使用時直接導入這個jar包,即可使用這個jar包里的程序。

用JAVA代碼怎麼生成JAR,請詳細點我是新手。最好是有圖片解釋的。謝謝謝謝啦

jar其實是個壓縮文件,和。rar文件是一樣的東西,裡面都是一些。class文件,這些文件都是經過JAVAC編譯後生成的文件,我門運行程序其實就是運行。class文件。jar包就是將這些編譯好的文件打包,在你調用jar包裡面的class時,不用去費時的尋找或者自己定義,最常用的是\jdk5.0\jre\lib\rt.jar這個包,裡面包含拉基本的。class方法文件。可以在命令提示符裡面運用 jar -cvf xx.jar *.*命令來生成jar包,xx是你自定義的名稱,*.*表示該路徑中所有的.class文件,cvf是jar命令的參數。

Java項目怎麼打成jar包

第一種:在jbuilder中:

首先你要保證Run菜單–Run Project能順利運行

然後Wizards菜單–Native Executable Builder

選中Compress the contents of the archive(產生jar文件的話)

Next–Next–選中Always include all classes and resources再Next–Next–Next

選中Windows GUI”exe”(產生EXE文件的話)–Finish

再在項目的文件列表中的Native Executable右擊–Make就可以了

第二種:在cmd 下生成jar文件

abc.txt內容如下:

Manifest-Version: 1.0

Main-Class: main-class-name(回車)

在cmd下:

javac *.java

jar cvfm abc.jar abc.txt *.class

示例——生成能通過鼠標雙擊就執行的.jar文件

一、編寫 Java源程序Test.java如下:

// Test.java

import javax.swing.*;

/**

* @(#) Test.java

* Copyleft (c) 2002 RatKing

* @author a href=”ratking@ynet.com”RatKing/a

* @version 0.1, 2002-11-7

* 描述:一個測試用的Java Application

*/

public class Test extends JFrame {

public Test(String title) {

super(title);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.getContentPane().add(new JLabel(“測試!”, JLabel.CENTER), SwingConstants.CENTER);

this.pack();

}

public static void main(String[] args) {

try {

//UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

} catch(Exception e) {

e.printStackTrace();

}

Test t = new Test(“Test – 測試”);

t.setVisible(true);

}

}

二、編譯Test.java為Test.class(當然假設你事先已經設置好了JDK的環境變量PATH和CLASSPATH)

在命令行執行編譯命令:

javac Test.java

三、用文本編輯器(比如記事本/UltraEdit等 – 甚至用ECHO命令加管道“”)編寫如下manifest文件,並保存為abc.txt

Manifest-Version: 1.0

Main-Class: Test

【注意】文件abc.txt內必須是3行文本:

第一行的內容依次是:“Manifest”、英文減號、“Version”、英文冒號、英文空格、數字“1”、英文句號、數字“0”

第二行的英文冒號與Test之間必須要有一個英文空格!!!如果有包名一定要帶上!!!包名.類名

第三行是一個空行,也就是說,你要在Test之後鍵入一個回車,然後才可以存盤退出!!!

如果冒號後面沒有空格,可以生成jar文件但不能執行;如果Test後沒有回車符,則生成jar文件時會報錯。

該文件可以放在任何目錄下

四、將Test.class打包成.jar文件,並使用abc.txt指明哪一個是帶有public static void main()的“主函數”

在命令行執行編譯命令:

jar cvfm Test.jar abc.txt *.class

如果有包名可以這樣寫,如包名為test,一定要在該包的上一層目錄執行下面這句

jar cvfm Test.jar abc.txt test

你可以使用WinZip之類的解壓軟件看一看剛剛生成的Test.jar文件里到底有什麼。

五、用鼠標雙擊Test.jar的圖標,應該可以看到Test執行後的窗口。

〖說明〗如果你正確地安裝了 Java運行環境(JRE),那麼.jar的圖標應該是象一頁紙並有一個A的形狀,就如同寫字板的圖標。

如果你的.jar文件默認的打開關聯不對,可以重新設置:

我 的電腦-查看(Win9x)或工具(Win2k)-文件夾選項-文件類型-選擇JAR文件-編輯該類型文件的屬 性-操作欄填入[ open ](不填引號和中括號[]),並在“執行操作的應用程序”欄填入[ “C:\Program Files\Java\j2re1.4.1\bin\javaw.exe” -jar “%1” %* ](填兩對英文引號,不填[])

並按“確定”、“關閉”退出對.jar文件關聯的編輯。

(你的javaw.exe文件是不是位於C:\Program Files\Java\j2re1.4.1\bin\路徑下,視你自己電腦的情況而定)

第三種:JB中生成.exe文件

1、菜單中選擇【Wizards】-【Native Executable Builder….】彈出對話框

2、在彈出的對話框中第一步(Step 1 of 7)的【Name】輸入一個名稱,並取消【Always create archive when building the project】點擊【Next】

3、根據需要懸着需要的類,再選擇【Include class dependencies】,點擊【Next】

4、根據需要懸着需要的庫文件,再選擇下面的4個單選,反覆所有的需要的庫,點擊【Next】

5、默認點擊【Next】

6、在(Step 5 of 7)的時候選擇一個主類運行點擊【Next】

7、在(Step 6 of 7)的時候選擇運行平台【Next】

8、默認點擊【Finish】,這時候在工程的目錄窗口出現了一個在(Step 1 of 7)輸入的【Name】目錄

9、右擊這個目錄,選擇【Rebuild….】,Jbuilder就開始編譯和創建執行文件或是Jar文件了

10、等完成之後,該目錄下右幾個文件,一般是有至少一個jar文件,或是一個exe文件

11、在Window打開工程所在的目錄,就可以看到裡面的有幾個剛才編譯的文件

12、執行jar就是用java -jar ***.jar、執行exe直接雙擊

—————————————————————

1、不建議使用jb,因為打包後可執行文件的圖標改不了且jb的可執行文件實際上是可執行的jar文件,可以將其exe擴展名改為jar一樣可執行。

2、還是使用jsmooth較好,首先編寫menifest文件目的指明main類,使用jar命令打包成可執行jar文件,讓後使用開源的jsmooth做成exe。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/270370.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 13:37
下一篇 2024-12-16 13:37

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論