命令行執行java程序

第一:簡單的命令行(沒有package)

c:/temp/bin/GetGreeting.Java

 

[java] view plaincopy
  1. public class GetGreeting  
  2. {  
  3.     public static void main(String [] args)  
  4.     {  
  5.         System.out.println("Hello world");  
  6.       
  7.     }  
  8. }  

1.編譯:cmd--cd到c:/temp/bin  javac GetGreeting.java 

生成GetGreeting.class文件

2.執行:Java Greeting   

打印出Hello world

第二:有package的java程序

c:/temp/bin/client/GetGreeting.java

1.cd到c:/temp/bin/client  javac GetGreeting.java

在c:/temp/bin/client 目錄中生成 GetGreeting.class文件

2.cd..  退回到c:/temp/bin

執行 java client.GetGreeting

打印出Hello world

第三:用命令行調用jar文件(無package)

將GetGreeting.java放在c:/temp/bin中----javac 編譯生成GetGreeting.class

將GetGreeting.java刪除,用jar -cvf test.jar *.*命令打包成jar文件

修改jar文件中的META-INF/MANIFEST.MF文件

在最後加一行 Main-Class: GetGreeting(注意:冒號和GetGreeting間有一空格,否則報錯-Invalid or corrupt jarfile C:/temp/bin/test.jar),然後回車,否則也報錯-Failed to load Main-Class manifest attribute from
C:/temp/bin/test.jar

命令行執行:java -jar c:/temp/bin/test.jar

第四:用命令行調用jar(有package)

將GetGreeting.java放在c:/temp/bin/client中----cd到client目錄,用javac 編譯生成GetGreeting.class

將GetGreeting.java刪除,返回到bin目錄,用jar -cvf test.jar *.*命令打包成jar文件

修改jar文件中的META-INF/MANIFEST.MF文件

在最後加一行 Main-Class: client.GetGreeting(注意:冒號和client.GetGreeting間有一空格,否則報錯-Invalid or corrupt jarfile C:/temp/bin/test.jar),然後回車,否則也報錯-Failed to load Main-Class manifest attribute from
C:/temp/bin/test.jar 

命令行執行:java -jar c:/temp/bin/test.jar

第五:用命令行執行class(帶參數)

類似第一步

GetGreeting.java

[java] view plaincopy
  1. public class GetGreeting  
  2. {  
  3.     public static void main(String [] args)  
  4.     {  
  5.         System.out.println("input length is:"+args.length);  
  6.         for(int i=0;i<args.length;i++)  
  7.         {   
  8.             System.out.println("input "+i+":"+args[i]);  
  9.         }  
  10.     }  
  11. }  

輸入:java GetGreeting 1 2 3

輸出


第六:命令行調用jar文件(帶參數)

類似第三步,使用命令 java -jar c:/temp/bin/test.jar 1 2 3

輸出結果與上圖一樣。

第七:命令行調用jar文件(jar文件代碼裏引用其他jar文件)

以連接數據庫爲例

將ConnDB.java放在c:/temp/bin中

[java] view plaincopy
  1. import java.sql.Connection;  
  2. import java.sql.DriverManager;  
  3.   
  4. public class ConnDB  
  5. {  
  6.     public static void main(String[] args)  
  7.     {  
  8.         String drive = "oracle.jdbc.driver.OracleDriver";  
  9.         String url = "jdbc:oracle:thin:@ip:1521:esd";  
  10.         String username = "scylla";  
  11.         String password = "******";  
  12.         try  
  13.         {  
  14.             Connection conn = null;  
  15.             Class.forName(drive);  
  16.             DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());  
  17.             conn = DriverManager.getConnection(url,username,password);  
  18.             System.out.println("conn is:"+conn);  
  19.         }  
  20.         catch (Exception e)   
  21.         {  
  22.             e.printStackTrace();  
  23.         }  
  24.     }  
  25. }  

用javac編譯時需將classes12.jar包解壓縮放在bin中(否則編譯不通過,提示找不到package)

刪掉ConnDB.java,打jar包conn.jar

在bin中建立文件夾lib,將classes12.jar文件放在lib目錄中

修改conn.jar中META-INF/MANIFEST.MF

Class-Path: ./lib/classes12.jar(制定jar路徑)
Main-Class: ConnDB(注意冒號後面有一個空格,最後回車)

用java -jar c:/temp/bin/conn.jar 調用即可!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章