一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

java命令行編譯

 springfull 2009-12-24

使用java和javac命令的幾種情況:

  1、單獨的一個java主程序;
  2、帶包的一個java主程序;
  3、同一個包的兩個類,一個引用另一個;
  4、引用不同包的其它類。

 

 1、單獨的一個java主程序
 public class Joeytang{ 
   public static void main(String[] args)                
     System.out.println("I am JoeyTang.");    
  }
}

    將命令行到該java文件同一目錄;直接輸入命令javac Joeytang.java則會在當前的文件夾下出現(xiàn)Joeytang.class類文件。如果想指定編譯的同時將編譯好的類文件放到一個文件夾下則可以使用-d指定路徑。例如javac -d .\ Joeytang.java則是在當前目錄下,javac -d ..\ Joeytang.java  在上一個文件夾,javac -d ..\ a Joeytang.java則是在上一個文件夾下的a文件夾下,但是一定要保證指定的文件路徑存在。運行該類文件,首先保證該類是具有main方法的類。然后編譯完以后,使用java -classpath .; Joeytang就可以運行了。我開始沒有加-classpath選項,老是提示說找不到類。所以一定要記住在這里加入該選項。具體該選項的作用是說在運行時調(diào)用了外部的類或者包時在這里注明,即如果使用了a.jar則要加上-classpath .;a.jar其中前面的那個“.;”我理解成是把環(huán)境變量中配置的jar文件拿進來。

 2、帶包的一個java主程序
pakage my.friends

public class Joeytang{     
  public static void main(String[] args){         
    System.out.println("I am JoeyTang.");      
 }
}
    這里面將Joeytang放到了my.friends包里面在編譯的時候進入到Joeytang.java同一目錄,使用和上面一樣的javac命令,這時候會在同一目錄創(chuàng)建類文件,但是如果想讓編譯的時候?qū)慕Y(jié)構(gòu)也創(chuàng)建出來則可以使用-d選項,javac -d .\ Joeytang.java,這時候會在當前目錄下自動根據(jù)包的結(jié)構(gòu)形式創(chuàng)建文件目錄,即創(chuàng)建my/friends/文件件,并將編譯好的類文件放在friends文件夾下。運行的時候使用java my.friends.Joeytang來運行。

3、同一個包的兩個類Joeytang.java文件為
pakage my.friends

public class Joeytang{    
  public String toString(){
    return "Joey";
  }
}

Sunnylu.java文件為
pakage my.friends

public class Sunnylu{     
  public static void main(String[] args){                
    Joeytang joey = new Joeytang();
  //System.out.println("I am Sunney."+joey.toString()+" is my friend.");
    System.out.println("I am Sunney."+joey+" is my friend.");
}

    這種情況中Sunnylu類引用了Joeytang所以必須先編譯Joeytang按照第二種情況將Joeytang編譯,此時開始編譯Sunnylu,注意要使用javac -classpath .; -d .\ Sunnylu.java,此時加入了-classpath選項,我也不知道為什么,但是如果不加編譯老是提示找不到Jeoytang這個。編譯完以后,來運行Sunnylu也要加入-classpath選項,java -classpath .; my.friends.Sunnylu

4、引用不同包的其它類

Tom.java文件為

package my.partners;

public class Tom{      
  public String toString(){
    return "It's Tom";
  }
}

Sunnylu.java文件為

pakage my.friends
import my.partners.Tom;

public class Sunnylu{     
  public static void main(String[] args) {               
     System.out.println( "I am Sunny.");  
     Tom tom = new Tom();   
     System.out.println(tom + " is my partner.");  
     Joeytang joey = new Joeytang(); 
     System.out.println(joey + " is my friends.");
  }

這種情況首先把Joeytang編譯了,然后編譯Tom類,因為Tom為外部類所以在編譯Sunnylu的時候一定要在-classpath注明Tom的路徑例如如果我把Tom類編譯到當前目錄的上一級目錄上去了,則編譯Sunnylu時使用javac -classpath .;..\ -d .\ Jerry.java,此時編譯時會到上一目錄按照Tom的包結(jié)構(gòu)來找Tom類。運行時一樣要加入這個選項。


××××××××××××××××××××××××××××××××××××××××××

Exception in thread "main" java.lang.NoClassDefFoundError


程序:
public class TEST{
  public static void main (String args[]){
    System.out.println("HELLO THIS iS A JAVA PROCEDURE");
  }
}

在命令提示符下
D:java>javac TEST.java
正常
D:java>java TEST
出現(xiàn)下面問題:Exception in thread "main" java.lang.NoClassDefFoundError: TEST
解決:
Exception in thread "main" java.lang.NoClassDefFoundError: Hello
這個錯誤的原因就是:java解釋器找不到你自己定義的類HelloWorld
假如Hello.class在D盤D:\java目錄下, java.exe在C:\Java\jdk1.5.0_02\bin目錄下
有兩種解決辦法:
1. 在命令行模式下敲入
c:>C:\Java\jdk1.5.0_02\bin\java -classpath D:\java Hello
注意, 在HelloWorld前面有一個空格.
2. 在命令行模式下輸入
c:>set classpath=D:\java
c:>C:\Java\jdk1.5.0_02\bin\java Hello
以上兩種方法的本質(zhì)都是設定正確的classpath, 使得java
能夠找到你自己定義的類.

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    人妻一区二区三区多毛女| 国产精品亚洲二区三区| 欧美在线视频一区观看| 日韩视频在线观看成人| 色偷偷亚洲女人天堂观看| 午夜久久精品福利视频| 一本色道久久综合狠狠躁| 暴力三级a特黄在线观看| 99久久精品一区二区国产| 高清亚洲精品中文字幕乱码| 美女露小粉嫩91精品久久久| 观看日韩精品在线视频| 国产色第一区不卡高清| 国产一区二区久久综合| 国产精品人妻熟女毛片av久| 亚洲人妻av中文字幕| 伊人久久五月天综合网| 国产激情一区二区三区不卡| 国产亚洲欧美自拍中文自拍| 久久久精品日韩欧美丰满| 伊人久久青草地综合婷婷| 免费在线观看激情小视频| 日本在线高清精品人妻| 国内自拍偷拍福利视频| 国产一级内片内射免费看| 天堂网中文字幕在线观看| 国产超薄黑色肉色丝袜| 欧美午夜一区二区福利视频| 东京热电东京热一区二区三区| 国产成人精品一区二三区在线观看| 亚洲精品深夜福利视频| 亚洲免费视频中文字幕在线观看 | 亚洲高清一区二区高清| 成人精品一区二区三区在线| 欧美做爰猛烈叫床大尺度| 欧美日韩一级aa大片| 国产精品免费视频专区| 91精品视频免费播放| 亚洲女同一区二区另类| 日本亚洲精品在线观看| 风间中文字幕亚洲一区|