java編譯class工具
反編譯工具jad簡單用法
以下假設jad.exe在c:\java目錄下
一、基本用法
Usage:jad [option(s)]
直接輸入類文件名,且支持通配符,如下所示。
c:\java\>jad example1.class
c:\java\>jad *.class
結果是將example1.class反編譯為example1.jad。將example1.jad改為example1.java即得源文件。
二、Option -o
不提示,覆蓋源文件
三、Option -s
c:\java\>jad -sjava example1.class
反編譯結果以.java為擴展名。
四、Option -p
將反編譯結果輸出到屏幕
c:\java\>jad -p example1.class
將反編譯結果重定向到文件
c:\java\>jad -p example1.class>example1.java
五、Option -d
指定反編譯的輸出文件目錄
c:\java\>jad -o -dtest -sjava *.class
B. 有沒有java文件轉換成class文件的工具
最基本的jdk就可以編譯java文件了啊。用javac命令。沒有main函數的java文件也是可以編譯的。
C. 如何將java文件編譯成class文件
如果你用的是工具,會自動編譯。如果是dos命令,先用記事本寫一個java文件,比如a.java,存放到d盤java文件夾下,dos命令可以寫d:回車,cd
java(cd是進入下級目錄,java是文件所在的文件夾,注意cd和java之間的空格)回車,javac
a.java,回車就可以了
D. Java源代碼編譯成的.class文件能用什麼工具讀取嗎
一般情況下不能,要不然,寫出來的東西很容易被人破解了,哪還有什麼版權可言.
java虛擬機是用來運行java程序的,不是用來讀取位元組碼文件的.
E. java編譯成class方發或工具。
對於很多應用系統,常常需要動態裝載和執行類和代碼片斷,這有利於部署的簡易性和系統設計上的靈活性。本文給出了一個比較全面的介紹,值得參考。
在Sun JDK 1.2及後續版本中,包含了一組可在程序運行時刻編譯和執行Java代碼的API。這些API被包含在tools.jar類庫中。這個功能允許Java程序在運行時動態編譯、執行小的代碼塊,在有些情況下這個功能會讓Java應用程序的架構更加靈活、開放。
本文假定讀者已經在計算機中安裝並配置好了Sun JDK 1.2或更高的版本,並對javac編譯器命令有所了解。
在Java程序中使用編譯器
假定要使用javac命令編譯 /home/mytest目錄下Test.java文件,並設定class文件存放在/home/mytest/classes路徑下,輸入下面命令:
javac -d /home/mytest/classes Test.java
達到同樣的目的,也可以使用Sun提供的一個Java編譯器的API來實現。它的使用也很簡單,核心代碼段如下:
…
String[] args = new String[] {「-d」, 「/homemytestclasses」, 「Test.java」};
Int status = javac.compile(args);
…
javac編譯工具被安裝在JDK根目錄的/bin目錄下,負責將源代碼編譯成運行於JVM的位元組碼。事實上,我們經常使用/bin目錄下的javac編譯工具來編譯Java源文件。如果在Java程序中動態編譯任意制定的Java語句,使用這個外部的javac編譯器就顯得不夠靈活了。雖然有時可使用Runtime類來執行一個外部命令,但如果想知道代碼是否被編譯通過、編譯時發生了什麼錯誤,用Runtime類的exec()方法就很難實現了。
在Sun的JDK 1.2及後續版本中,JDK安裝路徑的/lib路徑下包含了一個tools.jar文件,這個類庫包含了一個完整的編譯器包。com.sun.tools.javac.Main是編譯器的主類入口,如果已經熟悉了javac編譯器命令行的使用方法,很容易理解這個類的使用方法。方法compile(String[] p)執行編譯動作,參數p是一個String數組,用來存放javac命令的參數選項,編譯後的狀態返回一個Int值,其對應值參考如下表所示:
表 狀態參數與對應值
EXIT_OK 0
EXIT_ERROR 1
EXIT_CMDERR 2
EXIT_SYSERR 3
EXIT_ABNORMAL 4
在程序執行時編譯和執行Java語句
從上面一段中,我們已經基本了解了動態編譯一個Java文件的方法。那麼,如何運行時動態編譯指定的Java語句呢?這里需要一個技巧。
假設要動態編譯的Java條語句如下:
System.out.println(「Hello,This runtime code!」);
編譯器不支持編譯單個Java語句,被編譯的對象必須是一個以.java為後綴的、結構合法的類源程序文件,所以需要對這個語句進行改造,變成一個完整的類,並把這條語句置入main方法中,便於測試。
public class <臨時類文件名> {
public static void main(String[] args) throws Exception {
System.out.println(「Hello,This runtime code!」);
}
}
這樣,欲動態編譯的代碼已經被程序動態拼裝成了上面那段代碼,准備工作還沒有結束,不過看起來工作在趨向稍微的復雜化。因為上述代碼當前還存放在內存中,編譯器似乎對一個硬碟文件更感興趣。我們需要引用java.io.File類(JDK 1.2以上),創建一個臨時的文件來存放上述代碼的內容。java
F. 如何將.java文件編譯成.class文件
如果你用的是工具,會自動編譯。如果是dos命令,先用記事本寫一個Java文件,比如a.java,存放到d盤java文件夾下,dos命令可以寫d:回車,cd java(cd是進入下級目錄,java是文件所在的文件夾,注意cd和java之間的空格)回車,javac a.java,回車就可以了
G. 怎樣用JDK工具把java程序編譯成.class格式啊
打開dos命令進入到你安裝jdk的安裝目錄中..輸入命令
javac yourfile.java
這樣編譯完了就會生成一個yourfile.class文件..
在系統變數path中加入[jdk路徑]/bin的話 就可以用dos在任意目錄下編譯java文件了..javac 是編譯的命令 java是運行程序的命令
H. 求助~JDK工具把java程序編譯成.class格式
我記德用javac.exe編譯吧
15: illegal character: \0
的意思是說15行有非法字元\0
I. 什麼軟體能將.java文件編譯成.class文件什麼軟體能運行.class什麼軟體能將.class 反編譯成.java文件
給你推薦個軟體吧Jcreator,這個軟體就給以直接運行而不用去設置那些path值,但必須有jdk喲!
只是建議你在剛開始用這個,但以後就還是別用的好,用Jbuilder,而且盡量要用英文版的呀!
這時Jcreator的下載地址:http://www.skycn.com/soft/24416.html
J. 請問:.java文件如何編譯為.class文件
對以.java為後綴的文本用javac命令解釋成.class後綴的文件,再用java命令編譯,就可以運行