我正在创建一个库,Spring 4中的一个新功能允许库的用户获得一些利益。但是,我也想支持春天3。
使用gradle在Intellij中正确设置时遇到了一些困难。
我创建了两个gradle子项目mylib
和mylib-spring3
。我让mylib
依赖于spring 4
而mylib-spring3
依赖于spring 3
。由于mylib-spring3
只是spring 3
的一些辅助类,因此它还必须依赖于mylib
。换句话说:
MYLIB /的build.gradle
dependencies {
compile 'org.springframework:spring-core:4.1.5.RELEASE'
}
MYLIB-spring3 /的build.gradle
dependencies {
compile 'org.springframework:spring-core:3.2.13.RELEASE'
compile(project(':mylib')) { transitive = false }
}
这在gradle中有效,但在导入到Intellij时不起作用,因为Intellij会导出mylib
的{{1}}依赖项。用于禁用导出的按钮仅用于编译时。我仍然在spring 4
的运行时类路径上获得spring 4
。
非常感谢任何有关如何构建此建议的建议。