java - 共享界面

标签 java interface jar driver

我正在编写一个将加载第三方“驱动程序”的 Java 应用程序。我打算开发一个接口(interface),该接口(interface)将定义“驱动程序”必须实现才能在应用程序中工作所需的方法。

目的是将“驱动程序”包含在一个 jar 文件中。然后将需要第三方“驱动程序”开发人员来实现该接口(interface)。

当我试图解决这个问题时,我将“驱动程序”代码移到了一个 jar 中,发现我遇到了麻烦,因为我在主应用程序和 jar 文件中都定义了接口(interface)。

是否有推荐的方法来实现此方法,还是我走错了路?

j

最佳答案

你基本上定义了一次接口(interface),例如在一个 API jar 里。这个 jar 然后被主应用程序和驱动程序使用。

然后,驱动程序库会将此 API jar 作为主应用程序提供的依赖项。

就 Maven 而言,依赖项的作用域是providedcompile 库。

请注意,您应该避免在不同的库中使用相同的类两次,因为这很可能会导致类加载问题、类转换异常等(除非有一些隔离应用程序的类加载器范围,就像大多数应用程序服务器所做的那样)。

关于java - 共享界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8343648/

相关文章:

java - 从 Map<List<String>, IInterface> 中的键列表中删除元素后获取键和值对

java - 从 Java 应用程序启动外部 jar 文件

java - 将文件上传到 HDFS 或直接创建和写入 HDFS 文件哪个更快?

c# - 如何正确返回接口(interface)列表类型?

java - 在屏幕上旋转时,仅应显示视频

C# - 接口(interface)拆分?

java - 将 .txt 文件读入 JAR。它可以在 Eclipse 中运行,但不能在导出的 JAR 中运行

java - 如何对 jar 中的 .class 文件进行 monkeypatch

java - apache-commons ftp 检索多个文件

Java:Unicode 未通过 graphics.drawString(...) 正确转换为文本