1

grails 2.0.3現在、アプリケーションをgrails 2.2.0groovy2と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エラーが発生します。

私の質問:

  1. 除外jarを使用してprotobuf-javajarの特定のバージョン(つまり2.4.1)のみを除外できる方法はありますか?

  2. grailsの継承された依存関係の1つ(この場合はprotobuf java 2.4.1)を除外し、ダウングレードバージョンを使用することをお勧めします

除外が選択できない場合、この問題を解決する他のより良い方法はありますか

4

1 に答える 1