位元組碼 是Java 編譯之後的 的代碼 是為了讓JVM執行的 jar可以分為 可執行的 和不可執行的
java -jar Test 可以直接運行可執行的 jar包 那些不可執行的 你看的最多的 就是 像JRE這樣的依賴包
『貳』 如何用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正常啟動。
『叄』 java的jar命令到底有什麼用,復制的不要進
1 任何java程序的運行都需要jre環境
2 jar命令只是生成jar包,裡麵包含了class文件
3 雙擊能運行,指的是有main方法的class文件可以運行,放在jar包,並且按規定寫了一些配置文件,就可以在有jre環境的電腦中雙擊運行這個class文件了
『肆』 JAVA中生成jar文件的命令
你用的是MyEcplise嗎?裡面有自帶的生成jar的。但是這個有時候不能成功。你可以裝個net.sf.fjep.fatjar_0.0.31。放到MyEcplise安裝路徑下的plugins文件夾下。右鍵你的項目。就有個"to jar「的選項。那麼你就可以進行打包了。希望對你有幫助!
『伍』 如何打包成可在命令行利用java執行的jar文件
jar -cef test.CardLayoutDemo CardLayoutDemo.jar test
以上命令及參數的含義如下:
jar命令為java自帶的專用打包工具;
c代表生成新的jar包;
e代表可執行的類,亦即main方法所在的類。書寫時要加上包名,在本例中是後面的test.CardLayoutDemo;
f代表生成的jar包的名稱,在本例中是CardLayoutDemo.jar。此包名可以隨意命名,沒有規定;
test最後面的這個參數表示將test目錄下的所有文件都打包放到新的jar包中。
『陸』 java中jar命令問題
你不設置classpath 『.』系統就找不到當前目錄下的類
『柒』 Java命令行引入一個目錄下所有的jar
setclasspath="D:*.jar"
『捌』 java -jar xxx.jar命令的xxx表示什麼
xxx.jar 就是 jar 文件的文件名。可以放在磁碟的任意位置。
正確安裝jre後,就要看雙擊運行 可執行的jar文件
『玖』 java,javac正常,java-d,java-version 內部或外部命令,jar正常,jar-c內部或外部命令
你打命令的參數要加空格,不如就cmd就會當成命令識別了,所以你要java -version jar -c中間一定要有空格
『拾』 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來載入等等。