導航:首頁 > 源碼編譯 > 用jar包編譯java文件

用jar包編譯java文件

發布時間:2023-08-20 17:38:40

javac如何編譯.java,.jar

不用IDE就用ant工具編譯,你一個一個javac的編譯,一是項目大了,得累死你;二是你得把所有用到的jar和class等文件目錄放到環境變數classPath里,還是累死你。

② 如何運行和編譯jar

一、源文件情況
源文件位置為:D:\temp,源文件名(含包名字):com.ldq.WeatherDemo.java

前提:已安裝 jdk ,並配置好環境變數。

二、過程
1、編譯:
提示符進入 D:\temp 路徑下,輸入:javac com\ldq\WeatherDemo.java
生成類文件:WeatherDemo.class

2、打包:
提示符進入 D:\temp 路徑下,輸入:jar cvf WeatherDemo.jar com\ldq\WeatherDemo.class
生成檔案文件:WeatherDemo.jar

3、修改 MANIFEST.MF 文件:
由於引用了外部的類,所以要添加引用類的路徑,即修改MANIFEST.MF文件。保存如下內容到 D:\temp下,文件名 MANIFEST.MF

Manifest-Version: 1.0
Sealed: true
Main-Class: com.ldq.WeatherDemo
Class-Path: lib/jaxrpc.jar lib/log4j-1.2.8.jar lib/mail.jar lib/saaj.jar lib/tools.jar lib/wsdl4j-1.5.1.jar lib/activation.jar lib/axis.jar lib/axis-ant.jar lib/commons-discovery-0.2.jar lib/commons-logging-1.0.4.jar

注意在後面空兩行。
提示符進入 D:\temp 路徑下,輸入:jar umf MANIFEST.MF WeatherDemo.jar
執行時會提示更新的內容。

4、添加包含引用類的相應文件:
在 D:\temp 路徑下,新建 lib 文件夾,講對應的 jaxrpc.jar ... 拷入其中,此時,即可雙擊(或在提示符下輸入:java -jar WeatherDemo.jar)運行 WeatherDemo.jar 文件了。

三、總結
雙擊運行 jar 文件時,虛擬機會到 jar 文件中下找 .MF 文件,找到對應的 Main-Class 運行,引入的類在 Class-Path 所指路徑。
事實上可以利用 winrar或winzip 工具打開 jar 文件,直接將修改好的 MANIFEST.MF 拷入覆蓋,class文件也可以做同樣的操作,節省了輸入復雜難記的命令。另外,對於 javaME 生成的 jar 文件,限制嚴格些,MANIFEST.MF 文件中有個文件大小的欄位,可以先保存,查看文件大小,再修改保存。
另一種方法是通過 Eclipse - Export - Runnable JAR file 直接生成 jar 文件,此時,所有的引用類都被打包在 jar 文件里了。

③ 一個java程序用到了很多jar包,如何用命令行形式來編譯、運行此程序

javac -cp jar包路徑 xx.java,有多個jar包時,之間有「;」隔開:如果用引用到其它的類,則保證引入類結構良好的情況下,加上引入類所在的路徑(不包含類的包路徑)

④ 如何用jar命令對java工程進行打包

一. jar命令用法:
在cmd命令窗口下輸入jar,回車,就會提示改命令的用法:

二.例子(這里介紹的都是生成雙擊可執行的jar包):
1.首先介紹如何在命令行下執行打包程序。
1.1.沒有包結構的最簡單的工程。
(1)在c:盤下新建文件「HelloWorld.java」:

1 public class HelloWorld
2 {
3 public static void main(String[] args){
4 System.out.println("Hello world!");
5 }
6 }

(2)在命令行下輸入c:\javac HelloWorld.java,在c:盤下編譯生成「HelloWorld.class」。

(3)在c:盤下新建文件「menefest」(沒有後綴名):

Main-Class: HelloWorld

注意最後要有一個空行,否則會出現找不到類的錯誤。

(4)打包:輸入c:\jar cvmf menifest HelloWorld.jar HelloWord.jar HelloWorld.class,在c:盤下生成「HelloWorld.jar」。

(5)執行:輸入c:\java -jar HelloWord.jar。屏幕回顯「HelloWorld」。

1.2.有包結構的java工程。
(1)在c:\com\gosyl\demo\下新建文件「HelloWorld.java」:

package com.gosyl.demo;

public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}

(2)在命令行下輸入c:\javac com/gosyl/demo/HelloWorld.java,在c:\com\gosyl\demo\文件夾下編譯生成「HelloWorld.class」。

(3)在c:盤下新建文件「menefest2」(沒有後綴名):

Main-Class: com.gosyl.demo.HelloWorld

注意最後要有一個空行,冒號後面要一個空格。否則會出現找不到類的錯誤。

(4)打包:輸入c:\jar cvmf menifest2 HelloWorld.jar HelloWord.jar com/,在c:盤下生成「HelloWorld.jar」。

(5)執行:輸入c:\java -jar HelloWord.jar。屏幕回顯「HelloWorld」。

1.3.引用到外部jar包的java工程。
(1)在c:\com\gosyl\demo\下新建文件「Car.java」:

package com.gosyl.demo;

public class Car
{
public static void main(String[] args){
Light.on();
}
}

(2)在c:\com\gosyl\demo\下新建文件「Light.java」:

package com.gosyl.demo;

class Light
{
public static void on(){
System.out.println("Light is on!");
}
}

(3)打包1:輸入c:\jar cvf Light.jar com/gosyl/demo/Light.class,在c:盤下生成「Light.jar」。

(4)在c:盤下新建文件「menefest-car」(沒有後綴名):

Main-Class: com.gosyl.demo.Car
Class-Path: Light.jar

注意最後要有一個空行,冒號後面要一個空格。否則會出現找不到類的錯誤。

(5)打包2:輸入c:\jar cvmf menifest-car Car.jar com/gosyl/demo/Car.class,在c:盤下生成「Car.jar」。

(6)執行:輸入c:\java -jar Car.jar。屏幕回顯「Light is on」。

三.總結
1.清單文件menifest,對格式要求很高,注意每個冒號後面要有一個空格,文件最後要有一個空行。
2.對於引用到外部jar包的工程,需要在manifest中定義好Class-Path屬性。
3.對於雙擊.bat文件出現刷屏現象的情況,請直接把.bat文件的內容鍵入命令行執行。
4.對於重復簽名的jar包,在META-INF裡面會出現多個簽名文件,刪除掉多餘的,保存其中一個才能保證jws正常啟動。

⑤ 在linux下怎麼編譯和運行java程序

同時載入編譯多個jar包和java文件
在個人平常使用或者當我們把代碼部署到linux伺服器上的時候,我們經常需要通過命令行編譯和運行java文件,網上關於這個的方法大多是通過
javac -cp filePath/jarName.jar javaName.java1

這種方法。但是加入在filepath文件夾下面有好幾個jar包,在src文件夾中有好幾個java文件的時候,這個方法就很笨拙了,我在網上看的資料非常亂,其實下面一個非常簡單的指令就可以解決了:
javac -Djava.ext.dirs=filePath *.java//注意這里只需要指定到jar包所在的文件夾就可以了1

其中*.java表示可以一次編譯所有的java文件。
把編譯文件放到指定目錄
如果想要把編譯後的文件放到指定目錄,只需要在java文件後加上 -d outputFilePath就可以了,例如下面:
javac -Djava.ext.dirs=filePath *.java -d outputFilePath1

執行java文件
執行java程序頁是同樣,只需要把javac換成java,後面寫上主函數所在的java文件的名稱就可以了,不用加後綴。例如下面
javac -Djava.ext.dirs=filePath MainJavaName1

如果想要把編譯後的文件放到指定目錄,只需要在java文件後加上 -d outputFilePath就可以了

⑥ 若干jar文件怎樣批量反編譯並導出為java文件

在Eclipse里裝上jad反編譯插件。

然後再把jar包導入某一個項目中,就可以直接導出jar包的反編譯源碼了。

⑦ 如何在java中使用別人提供的jar包進行導入,編譯,運行

右點工程里建一個folder,把jar拖進去,右點拖進來的jar,build path→add

閱讀全文

與用jar包編譯java文件相關的資料

熱點內容
伺服器上如何查看伺服器的埠 瀏覽:676
單片機伺服器編譯 瀏覽:768
單口usb列印機伺服器是什麼 瀏覽:859
戰地五開伺服器要什麼條件 瀏覽:954
在word中壓縮圖片大小 瀏覽:253
javatomcat圖片 瀏覽:417
程序員生產智能創意 瀏覽:65
匯和銀行app怎麼登錄 瀏覽:381
騰訊伺服器如何上傳源碼 瀏覽:745
單片機的原理概述 瀏覽:510
火控pdf 瀏覽:267
如何復制雲伺服器centos環境 瀏覽:984
債權pdf 瀏覽:303
紅色番字的app怎麼下載 瀏覽:876
雲伺服器流程教課 瀏覽:702
中國農業銀行app怎麼沒有網 瀏覽:997
幾率表演算法 瀏覽:902
程序員理工科 瀏覽:708
企業郵箱登錄收件伺服器地址 瀏覽:560
計算機思維與演算法設計的重要性 瀏覽:664