一. 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正常啟動。
⑵ java -jar xxx.jar命令的xxx表示什麼
xxx.jar 就是 jar 文件的文件名。可以放在磁碟的任意位置。
正確安裝jre後,就要看雙擊運行 可執行的jar文件
⑶ CMD下怎樣用jar命令將一個目錄下的所有內容
SOURCEFOLDER="workspace/fanOnRatePairsInMapCombing/"
JARFOLDER="."
JARFILE="fanonratepairsinmapcombing.jar"
jar -cvf $JARFILE -C $SOURCEFOLDER $JARFOLDER
以上命令就是把源代碼目錄workspace/fanOnRatePairsInMapCombing/下面的所有java和class文件
添加到當前目錄(JARFOLDER=".")下面的fanonratepairsinmapcombing.jar這個jar文件
其實網上搜索下jar命令就可以了。以上代碼是linux下面執行的,Windows下面執行類似,只是目錄表示不一樣而已
⑷ 在dos下運行不了jar命令!該怎麼解決!急~
java環境配置問題
檢查下面步驟吧
2.環境變數配置
右擊桌面的我的電腦,選擇「高級」標簽,點「環境變數」按鈕,在系統變數中設置一下變數,變數存在的直接在原來的基礎上加上就行
變數ClassPath值(.;%JAVA_HOME%\lib\rt.jar;%JAVA_HOME%\lib\tools.jar)
變數JAVA_HOME:值(C:\Program Files\Java\jdk1.5.0_04)這個路徑就是你JDK的安裝路徑
變數Path:值(;%JAVA_HOME%\bin)
3.編寫簡單的Java程序檢測一下
⑸ cmd命令輸入命令jar提示不是內部或外部命令,如何解決
1.是不是缺少文件,這些運行命令相對應的文件在「c:\windows\system32\"文件夾下,如help.exe ipconfig.exe等...
2.看是不是path路徑有誤,開始>運行cmd>輸入path回車,一般path路徑為:
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\St
ormII\Codec;C:\Program Files\StormII
3.看看是不是pathext設置有誤,cmd下輸入echo %pathext%查看,一般為:
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
⑹ java -jar命令是干什麼的
jave -jar 是在命令行模式下運行一個java程序的命令,例如:
jave -jar test.jar 即可運行test.jar。
如果運行的jave項目需要引入其他的第三方jar包,通常會採用
java -classpath some.jar -jar test.jar
但是這種方法比較麻煩。而且有的時候會失效,
所以使用Extension Classloader來載入這些第三方引用的jar包,
可以把需要載入的jar都扔到%JRE_HOME%/lib/ext下面,這個目錄下的jar包會在Bootstrap Classloader工作完後由Extension Classloader來載入。非常方便,非常省心。
其他的方法還有很多種例如使用AppClassloader來載入或者自定義Classloader來載入等等。
⑺ jar命令出現不是內部或外部的什麼什麼錯誤應該怎麼解決。
java安裝目錄下的bin要放到PATH環境變數中,如
PATH=c:\jdk1.6_33\bin;..................
⑻ linux 怎麼啟動jar文件命令行
linux下執行jar文件方法:命令行下進入文件目錄,執行java -jar file.jar即可,也可在桌面創建一個啟動器,在命令欄填寫相關的命令:java -jar /file路徑/file.jar,這樣在桌面雙擊即可打開該jar文件
創建可執行的 JAR 文件包詳解:JAR 文件就是 Java Archive File,顧名思意,它的應用是與 Java 息息相關的,是 Java 的一種文檔格式。JAR 文件非常類似 ZIP 文件--准確的說,它就是 ZIP 文件,所以叫它文件包。JAR 文件與 ZIP 文件唯一的區別就是在 JAR 文件的內容中,包含了一個 META-INF/MANIFEST.MF 文件,這個文件是在生成 JAR 文件的時候自動創建的.舉個例子,如果我們具有如下目錄結構的一些文件:
==
`-- test
`-- Test.class
把它壓縮成 ZIP 文件 test.zip,則這個 ZIP 文件的內部目錄結構為:
test.zip
`-- test
`-- Test.class
如果我們使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,則這個 JAR 文件的內部目錄結構為:
test.jar
|-- META-INF
| `-- MANIFEST.MF
`-- test
`--Test.class
創建可執行的 JAR 文件包,需要使用帶 cvfm 參數的 jar 命令,同樣以上述 test 目錄為例,命令如下:jar cvfm test.jar manifest.mf test,這里 test.jar 和 manifest.mf 兩個文件,分別是對應的參數 f 和 m,其重頭戲在 manifest.mf。因為要創建可執行的 JAR 文件包,光靠指定一個 manifest.mf 文件是不夠的,因為 MANIFEST 是 JAR 文件包的特徵,可執行的 JAR 文件包和不可執行的 JAR 文件包都包含 MANIFEST。關鍵在於可執行 JAR 文件包的 MANIFEST,其內容包含了 Main-Class 一項。這在 MANIFEST 中書寫格式如下:Main-Class: 可執行主類全名(包含包名)
例如,假設上例中的 Test.class 是屬於 test 包的,而且是可執行的類 (定義了 public static void main(String[]) 方法),那麼這個 manifest.mf 可以編輯如下:Main-Class: test.Test ,這個 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且該行以一個回車符結束即可。創建了 manifest.mf 文件之後,我們的目錄結構變為:
==
|-- test
| `-- Test.class
`-- manifest.mf
這時候,需要到 test 目錄的上級目錄中去使用 jar 命令來創建 JAR 文件包。也就是在目錄樹中使用==表示的那個目錄中,使用如下命令:jar cvfm test.jar manifest.mf test
之後在==目錄中創建了 test.jar,test.jar 就是執行的 JAR 文件包。運行時只需要使用 java -jar test.jar 命令即可。
需要注意的是,創建的 JAR 文件包中需包含完整的、與 Java 程序包結構對應的目錄結構。而 Main-Class 指定的類,也必須是完整的、包含包路徑的類名,如上例的 test.Test;而且在沒有打成 JAR 文件包之前可以使用 java 來運行這個類,即在上例中 java test.Test 是可以正確運行的 (當然要在 CLASSPATH 正確的情況下)。
⑼ 如何利用jar命令去打包jar包
進入對應需要打jar的目錄,輸入命令: jar -cvf xxx.jar *.* (注意空格)
jar 是打jar的命令符;
-cvf 是打jar時的參數,寫上就可以;
xxx.jar 是打成後的jar包名稱;
*.* 是指將當前目錄所有的文件都打入jar包,也可以輸入*.class等。
例子:
現需要將C:\workspace\Auto\target\classes目錄下的文件打jar包
1.打開cmd,cd C:\workspace\Auto\target\classes進入目錄
2.輸入命令: jar -cvf xxx.jar *.*或是jar -cvf xxx.jar *
3.C:\workspace\Auto\target\classes目錄下xxx.jar
⑽ 怎麼用命令行執行jar文件
如果你配置好了jre環境,你現在有一個打包好的jar文件,你可以這樣子開始執行
java -classpath example.jar mainClass
-classpath告訴虛擬機在哪裡找類的位元組碼,順便提一下虛擬機載入類是lazy載入的,只有用到的時候才載入,虛擬機按照以下順序進行搜索和載入:
1 bootstrap classes,基礎類,如Java的library類
2 extension classes,擴展類,如/jre/lib/ext下的類
3 user-defined classes, 用戶定義類,就比如上邊的mainClass。
不過執行上述命令有時候會出現以下錯誤,
java.lang.SecurityException: no manifest section for signature file entry ...
這是因為有些文件需要簽名驗證,我們可以手動將這些文件去除從而達到運行的目的.刪除META-INF文件夾下的SUN_MICR.RSA和SUN_MICR.SF文件即可.
mkdir tmp
cd tmp
jar -xvf ../hongchangfirst.jar
rm META-INF/SUN_MICR.*
jar cvf ../hongchangfirst.jar *
cd ..
rm -rf tmp