在linux系统中,手动编写java代码,将接口打成jar供其他程序调用,实现方式
本文是在学习java时做的记录
工作目录:/root/JAVA
1、编写接口文件IHello.java,将IHello.java文件放到usr/com/example目录下
注意:usr不是根目录下的/usr,是在当前目录下创建usr/com/example,因为package需要指定目录。
目录结构:
.
└── usr
└── com
└── example
IHello.java:
package com.example; public interface IHello { void Hello(); }
2、编写ImpHello.java类文件,用来实现Hell()方法。
注意:也要放在usr/com/example目录下。
ImpHello.java
package com.example; public class ImpHello implements IHello { public void Hello() { System.out.println("hello"); } }
当前目录结构:
.
└── usr
└── com
└── example
├── IHello.java
└── ImpHello.java
3、编译接口jar包,usr同一级的目录下创建out目录。
命令行:javac -d out usr/com/example/*.java
当前目录结构:
.
├── out
│ └── com
│ └── example
│ ├── IHello.class
│ └── ImpHello.class
└── usr
└── com
└── example
├── IHello.java
└── ImpHello.java
在打成jar包,命令如下:
jar cf Hello.jar -C out .
注意:
c创建新的jar包
f指定jar包文件名
当前目录结构:
├── Hello.jar
├── out
│ └── com
│ └── example
│ ├── IHello.class
│ └── ImpHello.class
└── usr
└── com
└── example
├── IHello.java
└── ImpHello.java
可以看到生成Hello.jar,此时接口的jar包就已经完成,之后写测试程序验证jar包是否可用。
4、编写Main.java,测试程序测试调用Hello.jar中的Hello方法。
Main.java
import com.example.IHello; import com.example.ImpHello; public class Main { public static void main(String[] args) { IHello testHello = new ImpHello(); testHello.Hello(); } }
当前目录结构:
.
├── Hello.jar
├── Main.java
├── out
│ └── com
│ └── example
│ ├── IHello.class
│ └── ImpHello.class
└── usr
└── com
└── example
├── IHello.java
└── ImpHello.java
5、编译Main.java
命令行:javac -cp Hello.jar Main.java
当前目录结构:
.
├── Hello.jar
├── Main.class
├── Main.java
├── out
│ └── com
│ └── example
│ ├── IHello.class
│ └── ImpHello.class
└── usr
└── com
└── example
├── IHello.java
└── ImpHello.java
6、运行,查看结果
# java -cp .:Hello.jar Main
hello