如果你不能通过问题标题理解我的问题,请道歉,但让我详细说明:
我有一个项目A ,我使用maven创建一个war文件。项目A依赖于另一个项目B 。项目B是一个旧项目,它严格依赖于 hibernate 3 。项目A是我目前正在开发的项目,我希望它的代码使用 Hibernate 4 。我将Hibernate 4依赖项添加到项目A的maven POM文件中,因此在生成的WAR文件中,我同时拥有hibernate 3和Hibernate 4 jar。
但是当我启动项目A时,hibernate 3代码总是由项目A中的代码自动使用。
我追求的结果是项目A中的代码自动使用hibernate 4 jar,而hibernate 3 jar仍然包含在项目B的代码中使用。
我可以使用 Maven 来实现这一目标吗?或者用什么工具来做这件事?
欢迎任何建议
答案 0 :(得分:1)
如果你将A中的B与它的依赖关系捆绑在一起,在运行时它将从头到尾扫描类路径,并且它将首先拾取第一个版本的类,所以如果你在classpath中提前3,那么hibernate 3会被拾取,忽略4,
简要更新代码以使用最新版本