我需要创建一个依赖于 Spring 3 的库。但是这个库将在一些使用 Spring 3 的项目中使用,同时在一些使用 Spring 4 的新项目中使用。我应该如何在我的库中配置 Spring 依赖项以及项目中使用它们的依赖项?
我不想为 Spring 3 和 Spring 4 使用两个单独版本的库。
最佳答案
Maven 有一个概念 nearest definition ,这意味着您可以在 POM 中声明依赖项的首选版本,它将覆盖其他依赖项传递使用的任何不同版本。
因此,您的新项目应该在其 POM 中声明 Spring 4 依赖项。假设 Spring 3 和 4 之间的 groupId 和 artifactId 相同(我 believe they are ),新项目的类路径中将只包含 Spring 4 类。
那么你必须希望 Spring 4 向后兼容 Spring 3,否则你的库可能会遇到运行时问题。也许看到Spring 4.0.0 backward compatibility .
关于java - Maven 库在更多具有不同依赖项的项目中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23682694/