Java 初探:编写一个简单的 SDK,导出并且用于另一个项目中
一、引言
最近在工作中由 C++ 渐渐转向 Java,一开始肯定是各种不习惯的。比如今天遇到的这个需求:
将另一个同事写好的一个 SDK 导出来,用于我们现在正在开发的一个项目中
经过了我一个晚上的折腾,我成功实现了这个需求(初学者的懵懂笑容^_^ )。这里,为了能够帮助遇到了同样问题的初学者,我特地在本地写了一个 demo ,在这个 demo 中,有两个项目:
- test-sdk
用于提供 sdk。 - use-test-sdk
用于使用提供的 sdk。
通过这个 demo 的学习,我们就可以学会 sdk 的使用方法了。接下来,我将从零开始讲解整个 demo 的搭建过程,希望能够对你有一些帮助:)
二、test-sdk
这里我希望建立一个文件夹,该文件夹下有两个项目,一个项目是 test-sdk,另一个项目是 use-test-sdk,这样就可以使用 Idea 一下子打开两个项目进行管理。那么这里就涉及到了一个问题,那就是:
我们怎么在一个文件夹中建立多个项目
一个文件夹下创建多个项目
这里我通过网上搜索相关资料,找到了解决方案,这里整理如下:
- 首先我们先创建一个文件夹 use-sdk-demo,右键 Open Folder as IntelliJ IDEA Project 打开该文件夹,或者在 Idea 中,File -> Open 这个文件夹
- 打开 use-sdk-demo 文件夹后,右键 New -> Module,根据自己想要的模板创建项目,在 Location 中的 use-sdk-demo 后追加 test-sdk 路径名称,Finish 即创建完了 test-sdk 项目
- 右键 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 包:
File -> Project Structure,选择 Artifacts,点击 +,选中 JAR -> From modules with dependencies…
在弹出来的窗体里,选中 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
这里需要选中 include in project build,点击 OK
Build -> Build Artifacts…,选中 test-sdk:jar 点击 Build 即可在默认的 test-sdk/out/artifacts/test_sdk_jar 目录下生成 test-sdk.jar 包
这样,我们就生成了我们想要的 jar 包,可以在本地测试运行一下看看是否异常:
java -jar test-sdk.jar
可以看到输出:
既然 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();
}
}
运行代码可看到执行结果:
至此,完结,撒花:)
四、总结
这是一个非常简单的 demo,虽然简单,但是意义还是蛮大的,这样我们就可以在现在的项目中引入其他同事的 sdk 包。
好久没写博客了,之前一直躬耕于公司内网的 wiki 的编写,导致自己的 CSDN 博客有所懈怠。后续会更加的慷慨努力,谢谢观看我博客的朋友,谢谢你们:)
是什么呢,是求索的未知,是分享的喜悦,让我们相遇在这篇博客:
To be Stronger:)
原文地址: https://blog.csdn.net/u012814856/article/details/113665071
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章