grails 2.0.3
現在、アプリケーションをgrails 2.2.0
groovy2とjdk1.7にアップグレードしています。ただし、これが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から推移的な依存関係として取得したものも含まれます。Exclusivesタグを使用してから、バージョン2.3.0のpomに依存関係としてprotobuf-javaを含めようとすると、アプリケーションの再起動が失敗し、grailsエラーが発生します。
私の質問:
除外jarを使用してprotobuf-javajarの特定のバージョン(つまり2.4.1)のみを除外できる方法はありますか?
grailsの継承された依存関係の1つ(この場合はprotobuf java 2.4.1)を除外し、ダウングレードバージョンを使用することをお勧めします
除外が選択できない場合、この問題を解決する他のより良い方法はありますか