我们正在使用 groovy 2 和 jdk 1.7升级我们的grails 2.0.3
应用程序。grails 2.2.0
但是,我们发现它grails 2.2.0
与protobuf-java 2.4.1
我们的应用程序用来与后端对话的 jar 不匹配。该系统使用protobuf-java 2.3.0
. 因此,与该系统的任何通信都会失败。
我们尝试使用 BuildConfig.groovy 中的 excludes 标记排除 protobuf-java,如下所示 -
inherits("global") { excludes 'protobuf-java' }
我们认为这只会排除我们从 grails 获得的 2.4.1 版本。然而,这似乎排除了这个 jar 的所有版本,即使是我们从我们正在使用的这个 jar 中获得的作为传递依赖项的版本。如果我们尝试使用 excludes 标记,然后将 protobuf-java 作为依赖项包含在我们的 pom 中,版本为 2.3.0,应用程序重新启动将失败并出现 grails 错误。
我的问题:
有没有一种方法可以使用排除 jar 仅排除特定版本的 protobuf-java jar(即 2.4.1)
排除 grails 的继承依赖项之一(在我们的例子中为 protobuf java 2.4.1)并建议使用降级版本
如果排除不是一种选择,有没有其他更好的方法来解决这个问题