2013-02-19 61 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 

類重裝功能不能很好地與這個項目反正工作。