Java 初探:编写一个简单的 SDK,导出并且用于另一个项目中

2023-02-18 00:00:00 导出 编写 初探

一、引言

最近在工作中由 C++ 渐渐转向 Java,一开始肯定是各种不习惯的。比如今天遇到的这个需求:

将另一个同事写好的一个 SDK 导出来,用于我们现在正在开发的一个项目中

经过了我一个晚上的折腾,我成功实现了这个需求(初学者的懵懂笑容^_^ )。这里,为了能够帮助遇到了同样问题的初学者,我特地在本地写了一个 demo ,在这个 demo 中,有两个项目:

  1. test-sdk
    用于提供 sdk。
  2. use-test-sdk
    用于使用提供的 sdk。

通过这个 demo 的学习,我们就可以学会 sdk 的使用方法了。接下来,我将从零开始讲解整个 demo 的搭建过程,希望能够对你有一些帮助:)

二、test-sdk

这里我希望建立一个文件夹,该文件夹下有两个项目,一个项目是 test-sdk,另一个项目是 use-test-sdk,这样就可以使用 Idea 一下子打开两个项目进行管理。那么这里就涉及到了一个问题,那就是:

我们怎么在一个文件夹中建立多个项目

一个文件夹下创建多个项目

这里我通过网上搜索相关资料,找到了解决方案,这里整理如下:

  1. 首先我们先创建一个文件夹 use-sdk-demo,右键 Open Folder as IntelliJ IDEA Project 打开该文件夹,或者在 Idea 中,File -> Open 这个文件夹
  2. 打开 use-sdk-demo 文件夹后,右键 New -> Module,根据自己想要的模板创建项目,在 Location 中的 use-sdk-demo 后追加 test-sdk 路径名称,Finish 即创建完了 test-sdk 项目
  3. 右键 New -> Module,同样根据自己想要的模板创建项目,在 Location 中的 use-sdk-demo 后追加 use-test-sdk 路径名称,Finish 即创建完了 use-test-sdk 项目

创建 test-sdk 项目

根据上述所说的步骤,在 test-sdk 项目创建的时候,选择 Maven 模板创建项目,即可创建完我们所需的 test-sdk 项目。

这里 Maven 为我们生成了默认的 pom.xml 文件:

<groupId>org.example</groupId>
<artifactId>test-sdk</artifactId>
<version>1.0-SNAPSHOT</version>

这里的 pom.xml 文件默认配置了 groupId、artifactId 和 version 信息,这块在其他项目使用该 SDK 的使用,会使用这里配置的信息。因为是一个测试 SDK,这里的信息就不修改了。

简单的测试函数

这里我们编写一个简单的测试函数,在编写之前,我们先创建一个 package,这是为了方便其他项目导入该类。

我们在 src/main/java 右键,New -> Package,这里按照个人命名的习惯命名为 pers.wangying.testsdk。

命名规则参考自:[Java 包名(package)命名规则](https://www.cnblogs.com/cht-/p/11968668.html)

接着我们就可以编写这个 TestSdk 主类了:

package pers.wangying.testsdk;

public class TestSdk { 
    public static void main(String[] args) { 
        TestSdk testSdk = new TestSdk();
        testSdk.greeting();
    }

    public void greeting() { 
        System.out.println("Hello, I am a test sdk.");
    }
}

导出 sdk

现在我们开始导出 sdk 的 jar 包:

  1. File -> Project Structure,选择 Artifacts,点击 +,选中 JAR -> From modules with dependencies…
    《Java 初探:编写一个简单的 SDK,导出并且用于另一个项目中》

  2. 在弹出来的窗体里,选中 test-sdk 我们想要导出的 sdk 项目,Main Class 选中 pers.wangying.testsdk.TestSdk,JAR files from libraries 选择 copy to the output directory and link via manifest。最后的 META-INF 的路径,需要手动编辑,修改为 test-sdk 下的 resource 目录即可。最后点击 OK
    《Java 初探:编写一个简单的 SDK,导出并且用于另一个项目中》

  3. 这里需要选中 include in project build,点击 OK
    《Java 初探:编写一个简单的 SDK,导出并且用于另一个项目中》

  4. Build -> Build Artifacts…,选中 test-sdk:jar 点击 Build 即可在默认的 test-sdk/out/artifacts/test_sdk_jar 目录下生成 test-sdk.jar 包
    《Java 初探:编写一个简单的 SDK,导出并且用于另一个项目中》

这样,我们就生成了我们想要的 jar 包,可以在本地测试运行一下看看是否异常:

java -jar test-sdk.jar

可以看到输出:
《Java 初探:编写一个简单的 SDK,导出并且用于另一个项目中》

既然 test-sdk.jar 已经准备就绪,我们就开始在另一个项目中去使用它吧。

三、use-test-sdk

我们使用同样的 Maven 模板去创建 use-test-sdk 项目,不同的是,我们需要在 use-tset-sdk 下创建一个 lib 文件夹,用来存放 test-sdk.jar 文件。

我们将 test-sdk.jar 拖放到 use-test-sdk/lib 下,然后我们就可以编写代码了:

import pers.wangying.testsdk.TestSdk;

public class UseTestSdk { 
    public static void main(String[] args) { 
        TestSdk testSdk = new TestSdk();
        testSdk.greeting();
    }
}

运行代码可看到执行结果:
《Java 初探:编写一个简单的 SDK,导出并且用于另一个项目中》

至此,完结,撒花:)

四、总结

这是一个非常简单的 demo,虽然简单,但是意义还是蛮大的,这样我们就可以在现在的项目中引入其他同事的 sdk 包。

好久没写博客了,之前一直躬耕于公司内网的 wiki 的编写,导致自己的 CSDN 博客有所懈怠。后续会更加的慷慨努力,谢谢观看我博客的朋友,谢谢你们:)

是什么呢,是求索的未知,是分享的喜悦,让我们相遇在这篇博客:

To be Stronger:)

    原文作者:曾经去过跨越一个小时的地方
    原文地址: https://blog.csdn.net/u012814856/article/details/113665071
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章