Empoyee.java
package Company;public class Empoyee{ String name = ""; public Empoyee(String name) { this.name = name; } public String getName() { return this.name; }}
编译
# 开发第三方库cd ~/src/Companymkdir sourcemkdir classes# 编写代码并编译cd sourcejavac -d ../classes Empoyee.java# 生成Company.jar cd ../classesjar -cvf Company.jar Company/*.java
Hello.java
import Company.Empoyee;public class Hello{ public static void main(String args[]) { Empoyee e1 = new Empoyee("lishujun"); System.out.println(e1.getName()); }}
编译
# 在代码里引用第三方库进行开发cd ~/src/hellomkdir classesmkdir sourcemkdir lib# 编译引用第三方库程序cd sourcejavac -d ../classes Hello.java -cp ../lib/Company.jar# 执行引用第三方库程序cd ../classesjava -cp .;../lib/Company.jar Hello
MANIFEST.MF文件内容:Manifest-Version: 1.0Class-Path: ../lib/Company.jarMain-Class: HelloClass-Path指定的是该jar包依赖的第三方jar包位置Main-Class指定的是包含main函数的文件名Jar包依赖关系通过Class-Path指定以后就无须从命令行上进行指定了MANIFEST.MF 必须放在META-INF目录下
#可执行程序打包 (依赖第三方包)cd ~/src/hellomkdir classesmkdir sourcemkdir libmkdir META-INFcd sourcejavac -d ../classes Hello.java -cp ..lib/Company.jarcd ../classesjar -cvfM Hello.jar Hello.class META-INF/MANIFEST.MF# 执行可执行程序java -jar Hello.jar Hello