javac編譯
一、javac命令
javac 用於編譯Java文件,格式為:
java [options] [sourcefiles] [@files]
其中:
options:命令行選項;
sourcefiles:一個或多個要編譯的源文件;
@files:一個或多個對源文件進行列表的文件,有時候要編譯的文件很多,一個個敲命令會顯得很長,也不方便修改,可以把要編譯的源文件列在文件中,在文件名前加@,這樣就可以對多個文件進行編譯,對編譯一個工程很有用,方便,省事。
有幾個比較重要的選項:
-d 用於指定編譯成的class文件的存放位置,預設情況下不指定class文件的存放目錄,編譯的class文件將和源文件在同一目錄下;
-classpath 可以簡寫成-cp,用於搜索編譯所需的class文件,指出編譯所用到的class文件的位置,如jar、zip或者其他包含class文件的目錄,指定該選項會覆蓋CLASSPATH的設定;多個路徑可用分號「;」分隔,linux系統上用冒號「:」分隔,看具體情況,反正不是冒號「:」,就是分號「;」,報錯了改下。
-sourcepath用於搜索編譯所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目錄;
需要注意windows下和linux下文件路徑分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的區別:
windows下文件路徑分隔符用 \ ,文件列表分隔符用分號 ;
linux下文件路徑分隔符用 / ,文件列表分隔符用冒號 :
二、java命令
java 用於執行程序,格式如下:
java [options] classfile
options:命令行選項,一般用於 -classpath 指定要執行的文件所在的位置以及需要用到的類路徑,包括jar、zip和class文件目錄,會覆蓋CLASSPATH的設定
三、腳本
如果要敲的命令很長,每次要編譯運行的時候都要重新敲一遍,這是一件很痛苦的事情,所以用腳本可以大大方便你的工作 量。在linux下用shell腳本,windows下用bat批處理程序。因為是在linux下,我這里只是簡單介紹一下shell,關於bat批處理 程序的語法自己網路一下,不難。
1. 開頭
linux有很多不同的shell,通常使用bash(bourne again shell),程序必須以下面的行開始:
#!/bin/sh
#!用來告訴系統用後面的參數來執行程序,這里使用的是/bin/sh
要使你的腳本能夠執行,還必須讓這個文件有可執行許可權,使用下面命令更改文件許可權:
chmod +x filename
2. 注釋
以#開始的句子表示注釋,一直到這行結束,多寫注釋有利於以後重新看的時候知道自己在做什麼
3. 變數
shell的腳本的變數都是字元串,不用申明類型,定義的時候直接 變數=值 即可,用到變數的的時候用 $變數 或者 ${變數},echo命令用於列印,舉個例子:
#!/bin/sh
# 定義變數words,值為hello world
words="hello world"
# 列印變數words的值
echo $words
4. 命令
shell腳本裡面可以直接任意使用linux命令,要用到什麼命令直接敲進去即可。記住一些常用的命令:
cd 打開目錄
ls -l 顯示目錄信息
rm -fr 遞歸刪除目錄及下面的文件,不提示信息
mkdir 創建目錄
pwd 顯示當前路徑
kill -9 pid 強制殺掉某個進程號的進程
pkill 殺掉某個名字的進程
ps aux 顯示運行進程信息
netstat -pan 查看網路埠監聽情況
② javac如何編譯.java,.jar
不用IDE就用ant工具編譯,你一個一個javac的編譯,一是項目大了,得累死你;二是你得把所有用到的jar和class等文件目錄放到環境變數classPath里,還是累死你。
③ javac編譯、運行問題
用-Xlint:unchecked 編譯。這樣就能忽略警告了。也可以通過@SuppressWarnings("unchecked") 來忽略檢查的。
④ javac是怎麼將Java文件編譯class文件
直接用IDE吧...
就算是學習,也可以沒必要用jdk編譯的,IDE早晚要用的,早點熟悉不是美滋滋
其實也沒啥原因,目測是你的路徑錯了,怎麼會直接在C盤下呢,切到你的java文件路徑下
⑤ 用Javac怎麼單獨編譯一個java文件 !
C:Users ony>cd C:Users onyDesktop est
C:Users onyDesktop est>javac Helloworld.java
C:Users onyDesktop est>java Helloworld
ok.............
C:Users onyDesktop est>
打開命令行(CMD),定位(cd命令)到JAVA文件所在目錄;
javac 文件名.java,得到編譯的class文件;
java 文件名(不含後綴),運行;
前提是必須配置了正確的環境變數,java,javac命令可用.
⑥ 如何用JAVAC一次性編譯多個包下的JAVA文件
1.利用-cp
cd xxx
dir *.java/s/b > srclist.txt
or dir x:/yyy/zzz/*.java/s/b > srclist.txt
javac -cp .;xxx/yyy/zzz.jar;x/y/z.jar -d classes @srclist.txt
2.直接使用
這個,主要是在做一個獨立的Java項目,它不依賴IDE,同時要在別人電腦上編譯運行
下面編譯運行用到了jar包、properties文件。首先進入項目的根目錄下,注意:每一行,表示:DOS系統將執行的指令。
G:
cd testJava
上面,兩個命令為模擬,進入項目根目錄(具體目錄,根據自己程序所在目錄)。
javac -classpath .;../previousRecord.properties;../lib/jtds-1.2.5.jar;com/cjb/properities/jdbc.properties com/cjb/jdbc/*.java com/cjb/client/*.java -encoding UTF-8
上面命令,表示:編譯com/cjb/jdbc下所有java類和com/cjb/client下所有java類,這些類用到了previousRecord.properties文件(它的路徑是相對的)和jtds-1.2.5.jar的文件jar包(它的路徑也是相對的),同時用的編碼是UTF-8。
java -Xms64m -Xmx512m -cp .;../previousRecord.properties;../lib/jtds-1.2.5.jar;com/cjb/properities/jdbc.properties com/cjb/client/MailDispatcherOperation
上面命令,表示:執行com/cjb/client下的MailDispatcherOperation.class(它裡面有Main函數)。
⑦ 用Javac怎麼單獨編譯一個java文件
對單個*java文件進行編譯的方法是利用javac工具。
1. 編寫Hellworld.java源碼
新建一個Hellworld的java文件,代碼如下:
package com.csdn.test;
public class Say {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("hello,world!");
}
}
2、編譯Hellworld.java源碼
執行javac命令編譯源代碼,下面得藍色部分說明javac執行成功了,並在當前目錄下生成了Say.class文件,如下:
Microsoft Windows [版本 6.1.7600]
版權所有 (c) 2009 Microsoft Corporation。保留所有權利。
C:/Users/Administrator>d:
D:/>cd temp
D:/temp>javac Hellworld.java
⑧ 如何使用javac命令編譯java源程序
1.建文本文檔,輸入自己的java程序。
⑨ java編譯里的javac是什麼
是編譯器,用它編譯java的源代碼後會生成class文件!class文件可以跨平台使用!這就是java的NB之處之一!javac.exe編譯出來的文件在不同的系統上去執行會根據不同平台去完成運行!
⑩ 如何用javac 編譯java文件
這個下載安裝完jdk後,是需要配置環境變數才可以使用的。
如:jdk安裝在「C:\Program Files\java\jdk1.6.0_10」
第一步:新建「java_home」值,輸入「C:\Program Files\java\jdk1.6.0_10」;
第二步:新建「classpath」值,輸入「.;%java_home%\lib」;
第三步:在path中增加「%java_home%\bin」;
備註:配置環境變數在「計算機」右擊「屬性」,之後選擇「高級環境變數」,在選擇「環境變數」即可。
結構
javac
[ options ] [ sourcefiles ] [ @files ]
參數可按任意次序排列。
options
命令行選項。
sourcefiles
一個或多個要編譯的源文件(例如 MyClass.java)。