Java:javac编译java文件引入class文件和jar依赖
两个测试所需文件
public class Hello{
public void sayHello(){
System.out.println("Hello");
}
}
public class Demo{
public static void main(String[] args) {
Hello Hello = new Hello();
Hello.sayHello();
}
}
同目录下javac编译执行
$ ls
Demo.java
Hello.java
$ javac Demo.java
$ java Demo
引入不同目录依赖编译执行
$ ls
Demo.java
libs/
Hello.java
$ javac -classpath ./libs Demo.java
$ java -classpath .:libs Demo
引入jar包
$ cd libs
$ javac Hello.java
$ jar -cvf hello.jar Hello.class
引入jar包执行
$ ls
Demo.java
libs/
hello.jar
$ javac -classpath ./libs/hello.jar Demo.java
$ java -classpath .:./libs/hello.jar Demo
优化
$ javac -encoding UTF-8 -classpath ./libs -d classes Demo.java
# 参数说明
-encoding UTF-8 定源文件使用的字符编码
-classpath ./libs 指定查找用户类文件和注释处理程序的位置
-d classes 指定放置生成的类文件的位置,必须存在
Demo.java source files
$ cd classes
$ java Demo