1.javac命令行
javac用于編譯java源文件沮翔,生成.class文件也糊。形式如下
javac [option] source1
常用的option選項(xiàng)有如下
-classpath<路徑> (可以簡寫成 -cp):指定要使用的類路徑或要使用的jar包的路徑。
-d <路徑>:指定源文件編譯后生成的.class文件的存放位置。
2.java命令行
java用于運(yùn)行生成的.class文件。形式如下
java [option] classname [arguments]
常用的option選項(xiàng)有如下
-classpath <路徑>(可以簡寫成 -cp):指定要使用的類路徑或要使用的jar包的路徑(不包含 .class 后綴)。
[arguments]:傳遞給main函數(shù)的參數(shù)紊服。
例:
java -cp ./bin/project/ com.company.Test -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
3. 沒有包結(jié)構(gòu)的class文件
public class Test{
public static void main(String[] args){
System.out.println("Hello World");
}
}
編譯
當(dāng)前目錄下執(zhí)行:
javac Test.java
運(yùn)行
java -cp . Test
或java Test
-cp . 指定從當(dāng)前目錄搜索 class 文件
當(dāng)前已經(jīng)處于 class 所在目錄檀轨,且class 文件沒有包結(jié)構(gòu)。所以直接使用 類名 Test 即可
4. 含有包結(jié)構(gòu)的 class 文件
- 先創(chuàng)建java項(xiàng)目目錄围苫,名稱project裤园。
mkdir project
- 在項(xiàng)目中創(chuàng)建src和bin目錄,src下用于存放 “.java” 文件剂府,bin下存放 “ .class ” 文件拧揽。
cd project
mkdir src bin
- 在src下創(chuàng)建包c(diǎn)om.company。
mkdir -p src/com/company
- 在包中編寫java文件腺占,文件名為Hello.java淤袜。
vi src/com/company/Hello.java
package com.company
public class Test{
public static void main(String[] args){
System.out.println("Hello World");
}
}
- 在bin目錄下創(chuàng)建用于存放project項(xiàng)目中生成的class文件的目錄衰伯。
mkdir bin/project
- 編譯java文件,將生成的編譯文件存放在bin/project下意鲸,其中的com/company目錄會自動(dòng)創(chuàng)建,因?yàn)椤皃ackage com.company;”語句怎顾《辽鳎“-d”表示指定生成class文件的位置。
javac ./src/com/company/Test.java -d ./bin/project/
- 執(zhí)行java文件槐雾。“-cp”表示classpath募强,后跟路徑,創(chuàng)建的是什么就指定哪里擎值,否則會報(bào)錯(cuò)慌烧。之后再指定包名.類名即可運(yùn)行。
java -cp ./bin/project/ com.company.Test
成功輸出結(jié)果
4.報(bào)錯(cuò)
如果命令中帶了.class或文件路徑錯(cuò)誤會報(bào)錯(cuò):
Error: Could not find or load main class Test.class