在我的项目(各种格式的解析器)中,我按功能打包了模块,但每个模块都需要一些类。
现在我不确定这里的最佳做法是什么:
答案 0 :(得分:0)
我建议你创建一个抽象类,并在每个类中单独提供实现,并将它们分开打包。
答案 1 :(得分:0)
我不会打包该类的重复项,这可能会导致一些无休止的麻烦,因为不同类加载器加载的相同类文件内容根本不被Java认为是同一个类,所以你将无法实现理解错误消息。如果你所有的jar都在同一个类加载器中,那么只会加载第一个类,所以你也可以把它放在一个地方。
我肯定会在自己的jar中打包实用程序类,并且与所有其他包有依赖关系,就像你可能使用的其他库一样。你甚至可以使用清单的classpath属性来轻松引用库