jdk編譯java源碼
1、執行cmd命令javac後,顯示如圖所示編譯成功,說明是java運行正常。
B. 如何用JDK編譯JAVA程序
JAVA版hello world全攻略侯光敏 看到很多技術網站的BBS上面充斥著java初學者的關於運行第一個java程序的求助信息,我覺得作為過來人很有寫這篇文章的必要,因為他們遇到的都是些很低級的問題,但是讓這些問題占據bbs上那麼多寶貴的空間就太不應該了。 要搞清楚的基本概念 java是一種跨平台的網路語言,為了能夠在不同平台上運行,它使用了虛擬機這個概念。後綴名為java的文件是源代碼文件,它經過編譯後生成的是class文件。虛擬機執行的就是這些class文件,將它們轉化成為不同平台能夠運行的命令。這就是為什麼java的效率比較低的原因。也是因為這個原因,在java里沒有其它語言的使用者熟悉的exe文件的概念。 執行hello world的方法 切記:在命令行中輸入 javac 源文件名.java (編譯) java 源文件名 (執行,沒有後綴) 這里說的是java application,裡麵包括main函數。 如果hello world是applet版的,在命令行中輸入appletviewer 源文件名 (已經編譯後的class文件) 如果class文件已經嵌入了html網頁中,直接用IE打開就行了。 application經常出現的錯誤 系統提示Exception in thread "main " java.lang.NoClassDefFoundError。出現這個提示的原因可能有: 1 你把文件名拼錯了,java對大小寫是敏感的。打錯了當然找不到文件。 2 虛擬機沒有找到必須的類庫。你可能沒有在autoexec.bat文件中設置classpath。進入windows的運行,輸入sysedit,然後在autoexec.bat文件中加入這么一行:set classpath=你的jdk的安裝目錄/lib; 例如set classpath=c:/jdk1.3.0_02/lib; 保存退出後,你要在dos窗口的c根目錄下執行一遍autoexec.bat文件已保證被設置了,當然,如果你願意也可以重啟機器。 系統提示HelloWorld.java:1: Public class helloworld must be defined in a file called "HelloWorld.java ". public class helloworld{^ 一個Java源程序中可以定義多個類,但是,具有public 屬性的類只能有一個,而且要與文件名相一致。還有,main方法一定要放在這個public 的類之中,這樣才能運行這個類。 系統提示Exception in thread "main " java.lang.NoSuchMethodError: main 出現這個異常是因為你在抄書上的代碼時抄錯了。主函數一定要這么寫:public static void main(String args[]) 一個字都不能錯,切記!!! applet常出現的錯誤 IE顯示applet已經啟動,但是還是只顯示灰色的一塊。這種問題在使用jBuilder等集成開發工具是最容易出現,用appletviewer就沒有問題。這是因為你在applet中使用了IE不支持的java版本。jBuilder在做applet是默認使用了swing組件,但是IE只支持jdk1.1,所以造成了這種情況。只要把導入swing的語句去掉就行了,然後按照提示修改一下代碼,不要用swing組件的方法。如果你覺得swing組件很漂亮,打死都要用,那麼就裝一個java的plug-in這個東西在你裝jdk的高版本時就自動裝上了。看看你的控制面版中有沒有那個紅鼻子的小東西。但是切記,如果你要用它,那麼你的html的文件的寫法就和從前不一樣了,不能簡單的用CODE來指明類了。至於怎麼寫,不在這篇文章的討論范圍內了(你寫一個hello world還要用plug-in就搞大了)。網上有很多文章講怎麼寫。 用慣了點擊就執行的的exe文件自然就很不習慣打開dos窗口輸入命令行,你可以把它做成jar文件,但是對hello world來說有點麻煩,有個簡單的傻辦法:自己做一個批處理文件。例如:用記事本寫一個run.txt文件,內容是:java 你的主文件名 ,然後把後綴改成bat存到和主文件相同的目錄下。呵呵,雙擊就運行了,夠傻吧。 如果你非要用exe文件運行,jet等工具可以把class文件做成exe文件。但是這樣也失去了java的跨平台性。 以上就是hello world的全攻略了,如果你還看不到hello world,我倒!你還是別學java了。
C. 有jdk就可以編譯java程序嗎,
步驟寫給你:
1.下載JDK
2.配置環境變數:
windows xp下配置JDK環境變數:
1.安裝JDK,安裝過程中可以自定義安裝目錄等信息,例如我們選擇安裝目錄為D:\java\jdk1.5.0_08;
2.安裝完成後,右擊「我的電腦」,點擊「屬性」;
3.選擇「高級」選項卡,點擊「環境變數」;
4.在「系統變數」中,設置3項屬性,JAVA_HOME,PATH,CLASSPATH(大小寫無所謂),若已存在則點擊「編輯」,不存在則點擊「新建」;
5.JAVA_HOME指明JDK安裝路徑,就是剛才安裝時所選擇的路徑D:\java\jdk1.5.0_08,此路徑下包括lib,bin,jre等文件夾(此變數最好設置,因為以後運行tomcat,eclipse等都需要依*此變數);
Path使得系統可以在任何路徑下識別java命令,設為:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
CLASSPATH為java載入類(classorlib)路徑,只有類在classpath中,java命令才能識別,設為:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(要加.表示當前路徑)
%JAVA_HOME%就是引用前面指定的JAVA_HOME;
6.「開始」->;「運行」,鍵入「cmd」;
7.鍵入命令「java-version」,「java」,「javac」幾個命令,出現畫面,說明環境變數配置成功;
8.好了,打完收工。下面開始你的第一個java程序吧。
幾個java環境變數的含義和linux下的配置方法:
通常,我們需要設置三個環境變數:JAVA_HOME、PATH和CLASSPATH。
◆JAVA_HOME:該環境變數的值就是Java所在的目錄,一些Java版的軟體和一些Java的工具需要用到該變數,設置PATH和CLASSPATH的時候,也可以使用該變數以方便設置。
◆PATH:指定一個路徑列表,用於搜索可執行文件的。執行一個可執行文件時,如果該文件不能在當前路徑下找到,則依次尋找PATH中的每一個路徑,直至找到。或者找完PATH中的路徑也不能找到,則報錯。Java的編譯命令(javac),執行命令(java)和一些工具命令(javadoc,jdb等)都在其安裝路徑下的bin目錄中。因此我們應該將該路徑添加到PATH變數中。
◆CLASSPATH:也指定一個路徑列表,是用於搜索Java編譯或者運行時需要用到的類。在CLASSPATH列表中除了可以包含路徑外,還可以包含.jar文件。Java查找類時會把這個.jar文件當作一個目錄來進行查找。通常,我們需要把JDK安裝路徑下的jre\lib\rt.jar(Linux:jre/lib/rt.jar)包含在CLASSPATH中。
PATH和CLASSPATH都指定路徑列表,列表中的各項(即各個路徑)之間使用分隔符分隔。在Windows下,分隔符是分號(;),而在Linux下,分隔符是冒號(:)。
完成
D. jdk中提供了什麼方法對java類文件進行編譯
importjava.lang.reflect.Method;
importjava.net.URL;
importjava.net.URLClassLoader;
importjavax.tools.JavaCompiler;
importjavax.tools.ToolProvider;
publicclassDemo01{
publicstaticvoidmain(String[]args)throwsException{
JavaCompilercompiler=ToolProvider.getSystemJavaCompiler();
intresult=compiler.run(null,null,null,"C:/source/HelloWorld.java");
System.out.println(result==0?"編譯成功":"編譯失敗");
URL[]urls=newURL[]{newURL("file:/"+"C:/source/")};
URLClassLoaderclassLoader=newURLClassLoader(urls);
Class<?>clazz=classLoader.loadClass("HelloWorld");
//調用main方法
Methodm=clazz.getMethod("main",String[].class);
m.invoke(null,(Object)newString[]{});
}
}
上述代碼會將c盤目錄下的HelloWorld.java文件編譯成HelloWorld.class文件,並將其載入到JVM虛擬機中,調用main方法將其執行
E. 我安裝了JAVA jdk1.8.0_11,按照網路上的視頻方法,先製作了源代碼,可是無法編譯出來,希望高手可以指導
貼出你的代碼先。另外下面的提示很明顯了啊。下面這個運行試試
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("Hellojava");
}
}
另外類申明必須要跟文件名保持一致! 例如你的類叫HelloWorld,那麼文件名就應該是HelloWorld.java而不是Hello.java
F. 怎樣用Java JDK1.6 bin 文件下的 java.exe程序 編譯 運行整個 項目工程 源碼
javac *.java
如果有路徑,就加上路徑;想指定輸出目錄,加參數(目錄要存在)
javac -d bin src\*.java
如果想指定編碼,則
javac -d bin -encoding gbk src\*.java
G. java如何利用JDK編譯
最簡單的方法:
假設你的 JDK 安裝目錄是: C:\jdk,
程序目錄是: D:\programme\HelloWorld.java
那麼你可以這樣編譯:
CMD 下 CD 到 D:\programme
然後輸入以下字元串: C:\jdk\bin\javac HelloWorld.java
輸入字元串比較多比較復雜,做程序的人員一般比較喜歡偷懶,所以為了不必輸入那麼多字元,才出現了環境變數,才有了 三樓 那樣的配置:把前面的路徑:C:\jdk\bin\ 隱藏到系統路徑(環境變數中)。
如果還不懂,可以參考以下鏈接:
http://..com/question/93284550.html?si=2
http://..com/question/81899201.html?si=3
回答比較頭側
H. 在使用jdk編譯時,如何如何將一個JAVA源文件編譯到一個指定的文件夾裡面
class文件編譯後會存放在d盤根目錄下
javac -d "d:" D.java
執行臨時設置classpath路徑下的class
java -classpath "d:" D