重新声明多个jar文件中的接口

时间:2015-10-05 15:54:45

标签: java interface

我有几个接口(例如mypackage.IMyInterface),它们在多个软件模块中实现。另一方面,我使用构建脚本将这些模块放在单独的jar文件中(出于版本控制的原因)。

它会"好吗"在每个单独的jar文件中包含相同的接口。

让自己完全清楚。包mypackage将包含在所有jar文件中,并且它们都将具有完全相同的mypackage\IMyInterface.class文件的副本。

我在一些开源jar文件中看到了这种做法。但我不确定这是好的做法还是偶然发生。

1 个答案:

答案 0 :(得分:2)

这是一种不好的做法。

不应在不同的罐子之间共享包裹。

至少不应在多个罐子中复制接口(或类)。

最好是提取公共接口(和类)并将它们放在一个单独的jar中,然后在任何地方导入该jar。

所以从这种情况出发:

mylibfirst.jar (jar1):

  • com.mygroup.mylib.MyCommonInterface
  • com.mygroup.mylib.MyClass1

mylibsecond.jar (Jar2):

  • com.mygroup.mylib.MyCommonInterface
  • com.mygroup.mylib.MyClass2

以下内容:

mylibfirst.jar (Jar1,使用 mylib.jar ):

  • com.mygroup.mylib.first.MyClass1

mylibsecond.jar (Jar2,使用 mylib.jar ):

  • com.mygroup.mylib.second.MyClass2

mylib.jar (Jar3):

  • com.mygroup.mylib.MyCommonInterface