1,使用doc命令進入到該目錄
2,在該目錄下輸入編譯命令javac *.java
3,java 命令運行相應的位元組碼文件
B. Java 同一個包在cmd上多文件編譯
javac的編譯單位其實就是單個的java文件,為了達到同時編譯多個java文件的目的,可以將所需編譯的java文件路徑保存在一個txt中,比如sourcelist.txt,以換行為分隔符(這個過程稱為類文件注冊)。這些java文件沒有彼此聯系的必要,它們可以是隸屬不同的包、在不同的文件夾下(當然建議包路徑相同的java類文件放在同一文件路徑下),javac命令只會一行一行地讀取其中的記錄,作為一個單位進行類編譯。
舉例說明。假設你的這個包放在src文件夾下,src的父目錄為project,sourcelist.txt也事先新建在project文件夾下。首先將這個包中你需要編譯的java文件相對於src的路徑(如src\com\test\Test.java)注冊到sourcelist.txt文件中;接著在project文件夾中新建一個bin文件夾(或者class文件夾,命名隨你樂意取),用以編譯後class文件的放置(這個配以javac命令中-d選項去理解);如果還有其他類庫(如jxl.jar或者mysql.jar),建議在project目錄下新建一個lib(同樣命名不限)文件夾,然後復制到該文件夾下(配以-classpath選項理解);最後檢查上述准備工作都完成,win + R、輸入cmd都不用講,現在在cmd中用cd命令切換到project目錄,然後輸入命令:
javac -classpath lib/jxl.jar -sourcepath src @sourcelist.txt -d bin
現在就很好理解了。-d選項就是destination的意思,即生成class文件被送到該選項後面的bin文件夾;-classpath就是將你要用到的jar包注冊到類載入路徑中;-sourcepath就是告訴javac命令去哪裡找類文件。
最後呢,為了方便,可以在project文件夾下新建一個bat文件,並輸入以下內容:
javac -classpath lib/jxl.jar -sourcepath src @sourcelist.txt -d bin
@pause
這樣每次直接點擊即可,而你需要編譯其他包的或者其他java文件,直接在sourcelist.txt文件中添加或修改。這其實也是一種「弱耦合」、模塊化的表現。
C. 如何用javac 編譯多個目錄中的java文件
根據我個人的經驗,只要找到包含主函數的那個類進行編譯,如果在主函數內有導入其他用戶編寫的包,會自動進行編譯得到.class文件的。你可以試試看。
D. 同一個文件在不同目錄下java編譯結果不同
JFileChooser
和你這個ImageViewer 類要放在同一文件夾下面就可以了
E. 怎麼把所有java文件夾編譯成class文件
如果你是eclipse的java開發環境配置完成,只要點中你eclipse中的項目,右鍵-》編譯就可以了。
如果解決了您的問題請採納!
如果未解決請繼續追問
F. 求解java多目錄源碼用javac怎麼編譯
寫到一半學校斷網,重新手打、、、=_=
以下是我原來寫好的部分:
其實我原來也不會,但是看了樓主的問題,我摸索了一下。
首先我在終端里輸入javac,彈出了幾個參數選項的解釋,其中有一個:
-classpath <路徑>
所以我猜它應該是可以添加搜索路徑之類的參數。
我寫了兩個java文件,放在兩個路徑下,其中有主函數的文件為:
package com.test;
import com2.test2.*;
public class testMult {
public static void main(String args[]) {
Mult m = new Mult();
m.a = "asd";
System.out.println(m.a);
}
}
可見我import了一個com2.test2的包,下面是這個包里的Java文件:
package com2.test2;
public class Mult {
public String a;
}
然後我在終端輸入了:
javac -classpath /Users/wulin/Documents/workspace/TestMultiDir/src /Users/wulin/Documents/workspace/TestMultiDir/src/com/test/testMult.java
然後編譯成功了。
其中值得注意的是classpath添加的路徑是包所在的目錄,在這里也就是com2所在的目錄 /Users/wulin/Documents/workspace/TestMultiDir/src
我用的系統是mac os,所以樓主如果用的是windows,那麼路徑分隔的符號可能要注意一下。
G. 如何編譯java程序
三種方法:
1.在IDE中,如eclipse中寫的Java程序,在點擊保存後eclipse就會調用javac編譯程序編譯,編譯文件在當前項目的bin目錄下。
2.作為一個獨立的文件且沒有定義Java環境變數,需要在cmd窗口中切換到java bin目錄下執行Javac程序,執行格式為javac 空格 Java源文件;如 javac C://hello.java;
3.作為一個獨立的文件且定義了Java環境變數,打開cmd窗口,可以在任意目錄輸入javac java源文件,如javac D://hi.java。
Java也是一種高級語言,要讓計算機執行你撰寫的Java程序,也得通過編譯程序的編譯。但是Java編譯程序並不直接將Java源代碼編譯為相依於計算機平台的0、1序列,而是將其編譯為位元組碼。
Java源代碼的擴展名為.java,經過編譯程序編譯之後生成擴展名為.class的位元組碼。
H. JAVA編譯目錄
用-d來指定目錄,例如:
你所在目錄是c:\work
裡面有兩個目錄run和class
將.java文件放在run中,並且保留裡面的package class;
進入目錄c:\work\run
執行命令javac hello.java -d c:\work
I. java中怎麼編譯不同文件夾但是相互有關的文件啊
這就是類路徑(classpath)問題,樓主肯定還不是很明白包、類路徑、import的作用。
簡單的說下:
package是用來組織類的,確保類的唯一性;
classpath是提供給javac、java等工具使用的,用來查找載入相關需要的類;
import是用來在類中導入相關類,提供一種簡單的書寫形式;
如果b.java的package是aa.bb.cc,且編譯後的b.class在f:\aa\bb\cc下,那麼其classpath就是f:\ ,不在包aa.bb.cc下的其他類引用b.class,如a.java,就要這樣aa.bb.cc.b 或 import aa.bb.cc.b 來使用b類,在編譯a.java時需要指定類路徑f:\ ,javac -cp .;f:\ a.java (其中的 .; 在JDK5+是可選的,它表是的是當前路徑) ;
再假設b.java沒有package,那麼在a.java中使用b類,無需import語句;但classpath就是f:\aa\bb\cc\;這樣在編譯a.java時指定類路徑f:\aa\bb\cc,javac -cp .;f:\aa\bb\cc a.java;
歸類就是:如果類指定了package,class文件就必須在package下,而classpath就是根包名所在路徑;如上面指定b.java的package是aa.bb.cc,那麼b.class必須在aa\bb\cc下,classpath 就是aa目錄所在的路徑f:\,編譯其它使用了b類但不在包aa.bb.cc下的類 就需要告訴編譯器b類的classpath ;
J. 如何用javac命令編譯一個目錄以及子目錄下所有的java文件呢
不想一個一個寫文件名,就應該想到如何生成命令行。人類進化的動力就是想吃飽又想偷懶。
::Windows
D:Workflow>dir/s/ad>dir.txt
然後用 notepad++ 打開替換命令行。
其實我想吐槽的是,這個年代有幾個人還需要手工來執行最原始的命令行。像 ant 就很方便的處理這些東西。用 eclipse 也行啊。
一個 ant 樣例:
java-classpathant.jar;ant-launcher.jarorg.apache.tools.ant.launch.Launcher-vbuild.xml
<!--filename:build.xml-->
<projectdefault="compile">
<targetname="compile">
<mkdirdir="bin"/>
<javacsrcdir="src"destdir="bin"/>
</target>
</project>