我有一个问题,我不知道如何正确解决。我正在为一个在启动时动态加载这些插件的程序开发插件。就我而言,一切都很顺利,因为我通常只使用主程序也使用过的依赖项,比如 Apache Commons。
现在我尝试使用 Google Guice,主程序在类路径中没有包,所以在启动时当然会出现 NoClassDefFoundError。我用谷歌一段时间来找到我的问题的解决方案,但我想出的唯一一件事就是使用一个 uber jar。这样做的问题是,我确实对我使用的其他插件有依赖关系,我不想将它们拉入我的插件,因为我最终不得不管理所有这些插件。甚至可能发生我在类路径中有两个不同的实现,因为我迷失了方向并且没有更新那个次要版本。不幸的是,通常没有其他插件的接口,所以我不能接受。
长文本,短问题:是否可以告诉 Maven 只在文件中提取 Guice,或者更好的是,是否有更简洁的解决方案来解决这个问题?也许我什至错过了整个过程中至关重要的事情?任何帮助表示赞赏。