在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

posted @ 2024-10-28 13:47  insistYuan  阅读(3)  评论(0编辑  收藏  举报