Linux下编译运行java文件

1.javac命令行

javac用于编译java源文件,生成.class文件。形式如下
javac [option] source1
常用的option选项有如下
-classpath<路径> (可以简写成 -cp):指定要使用的类路径或要使用的jar包的路径。
-d <路径>:指定源文件编译后生成的.class文件的存放位置。

2.java命令行

java用于运行生成的.class文件。形式如下
java [option] classname [arguments]

常用的option选项有如下

-classpath <路径>(可以简写成 -cp):指定要使用的类路径或要使用的jar包的路径(不包含 .class 后缀)。
[arguments]:传递给main函数的参数。
例:

java -cp ./bin/project/ com.company.Test -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError

3. 没有包结构的class文件

public class Test{
    public static void main(String[] args){
        System.out.println("Hello World");
    }
}

编译
当前目录下执行:
javac Test.java
运行
java -cp . Testjava Test
-cp . 指定从当前目录搜索 class 文件
当前已经处于 class 所在目录,且class 文件没有包结构。所以直接使用 类名 Test 即可

4. 含有包结构的 class 文件

  1. 先创建java项目目录,名称project。
    mkdir project
  2. 在项目中创建src和bin目录,src下用于存放 “.java” 文件,bin下存放 “ .class ” 文件。
    cd project
    mkdir src bin
  3. 在src下创建包com.company。
    mkdir -p src/com/company
  4. 在包中编写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");
    }
}
  1. 在bin目录下创建用于存放project项目中生成的class文件的目录。
    mkdir bin/project
  2. 编译java文件,将生成的编译文件存放在bin/project下,其中的com/company目录会自动创建,因为“package com.company;”语句。“-d”表示指定生成class文件的位置。
    javac ./src/com/company/Test.java -d ./bin/project/
  3. 执行java文件。“-cp”表示classpath,后跟路径,创建的是什么就指定哪里,否则会报错。之后再指定包名.类名即可运行。
    java -cp ./bin/project/ com.company.Test
    成功输出结果

4.报错

如果命令中带了.class或文件路径错误会报错:

Error: Could not find or load main class Test.class

你可能感兴趣的:(Linux下编译运行java文件)