首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails 2.2.0升级导致协议缓冲区不匹配

Grails 2.2.0升级导致协议缓冲区不匹配
EN

Stack Overflow用户
提问于 2013-02-19 19:01:00
回答 1查看 309关注 0票数 1

我们正在使用groovy 2和JDK1.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中的排除标记来排除protobuf-java,就像这样-

代码语言:javascript
复制
inherits("global") { excludes 'protobuf-java' }

我们认为这将只排除我们从grails获得的2.4.1版本。然而,这似乎排除了这个jar的所有版本,甚至我们从这个jar中获得的作为传递依赖项的版本。如果我们尝试使用排除标记,然后将protobuf-java作为依赖项包含在我们的pom中,版本为2.3.0,那么应用程序重新启动就会出现grails错误。

我的问题:

  1. 是否可以使用排除jar只排除特定版本的protobuf java jar (即2.4.1)?
  2. 排除grails的继承依赖项(在本例中为protobuf 2.4.1 ),并使用降级版本为宜。

如果排除不是一种选择,还有其他更好的办法来解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2017-09-07 11:27:58

我们在Grails 2.0.3和一个引入protobuf 3.4.0的库中也有类似的问题。我们通过运行战争来解决这个问题,而不是“”:

代码语言:javascript
复制
$ grails -Dgrails.env=dev war && java -jar target/com.acme.app-2.3.0.war

无论如何,类重新加载特性与此项目不太好用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14965323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档