2013-02-19 59 views
1

我们在与常规2和JDK 1.7升级我们的grails 2.0.3应用grails 2.2.0的过程。然而,我们发现,grails 2.2.0带有protobuf-java 2.4.1这是造成与我们的应用程序使用交谈后端罐子不匹配。该系统使用protobuf-java 2.3.0。所以与该系统的任何通信都会失败。Grails的2.2.0升级造成Protocol Buffers的不匹配

我们试图排除使用排除标签中BuildConfig.groovy像这样的protobuf-java的 -

inherits("global") { excludes 'protobuf-java' } 

我们认为这将仅排除版本2.4.1,我们从Grails的了。然而,这似乎排除这个罐子的所有版本,即使是我们得到从这个罐子,我们使用的是传递依赖的人。如果我们尝试使用排除标记,然后包括的protobuf-Java作为我们的一个版本的2.3.0聚甲醛的依赖,重新启动应用程序失败,Grails的错误。

我的问题:

  1. 有没有办法,我可以使用排除只排除 的protobuf-java的罐子(即2.4.1)的特定版本的方式罐子

  2. 是一个不计Grails的继承的依赖(protobuf的 的Java 2.4.1在我们的例子),并使用降级版本为宜

如果排除是不是一种选择,有没有解决这个问题

回答

0

的任何其他更好的办法我们不得不使用Grails 2.0.3和的protobuf的Java 3.4.0拉库类似的问题。我们工作围绕它运行的战争,而不是“Grails的运行程序”:

$ grails -Dgrails.env=dev war && java -jar target/com.acme.app-2.3.0.war 

类重装功能不能很好地与这个项目反正工作。