1. 程式人生 > >java JDK安裝 編譯 執行

java JDK安裝 編譯 執行

我們假設在下面目錄中有一個java原始碼檔案(Exercise.java),也就是一個編譯單元

E:\eclipse\adt23\adt-bundle-windows-x86_64-20140702\workspace\JavaTest\src\com\sailang\access

編譯Exercise.java原始檔


我們一般採用javac Exercise.java命令的方式,解釋一下這個命令

javac是編譯命令,要想使用這個命令,首先得找到這個命令所在的地方。我們在安裝jdk的時候,在path中配置的%JAVA_HOME%\bin目錄,就是用來找javac命令的。

Exercise.java就是要編譯的原始檔,這個檔案沒有帶任何目錄結構,說明是在當前目錄中找Exercise.java,當前目錄是C:\Users\zhongyili,可是在當前目錄中沒有Exercise.java 檔案,所以就報錯了。

我們可以通過下面的方式編譯


這樣就會在access資料夾下產生Exercise.class 檔案

那麼,現在該執行Exercise了。


這樣可以嗎?當然不可以了。


下面這樣可以:


如果,我們要想java Exercise能執行,只要在CLASSPATH新增E:\eclipse\adt23\adt-bundle-windows-x86_64-20140702\workspace\JavaTest\src\com\sailang\access目錄,java會自動進行搜尋的。

如下:

.;%JAVA_HOME%\lib;%ANT_HOME%\lib;E:\eclipse\adt23\adt-bundle-windows-x86_64-20140702\workspace\JavaTest\src\com\sailang\access


不過,有個問題,好像Classpath中.;%JAVA_HOME%\lib;%ANT_HOME%\lib;是不用配置的,java也能正常使用。不知道是不是我jdk(jdk1.7.0_17)版本的原因。

注意:

我們上面所有的描述,Exercise的實現是這樣的

public class Exercise {
	public static void main(String[] args) {
		System.out.println("Exercise");
	}
}
假如,我們把程式碼修改如下:
import net.mindview.simple.*;

public class Exercise {
	public static void main(String[] args) {
		Vector v = new Vector();
		System.out.println("Exercise");
	}
}
編譯:


在編譯Exercise.java的時候,發現需要import net.mindview.simple包,但是,編譯器不知道去哪兒匯入,所有就報錯了。

Vector的位置在D:\java\net\mindview\simple\Vector.java

解決這個問題,可以在Classpath中新增D:\java目錄,這個Vector.java也會被編譯



如果Exercise.java改為如下:

package com.sailang.access;
import net.mindview.simple.*;

public class Exercise {
	public static void main(String[] args) {
		Vector v = new Vector();
		System.out.println("Exercise");
	}
}
會怎麼樣呢?


編譯沒有問題,可是執行就報錯了。

正確的執行是下面的:


簡單說明一下:

java Exercise 肯定是不行的,因為有包名,所有應該是com.sailang.access.Exercise。這就是第一個錯誤的原因。

第二個錯誤,在access下面找com.sailang.access.Exercise 也是不對的,應該在src目錄下面找。

根據前面的經驗,我們是不是覺得,只要把E:\eclipse\adt23\adt-bundle-windows-x86_64-20140702\workspace\JavaTest\src\加到Classpath中,直接執行java com.sailang.access.Exercise就行了,Yes,是的。

Classpath D:\java;E:\eclipse\adt23\adt-bundle-windows-x86_64-20140702\workspace\JavaTest\src;


參考:

http://www.360doc.com/content/14/0830/16/8358419_405839443.shtml