我使用protobuf3来表示我们的数据,而我们需要hbase来存储数据,似乎hbase依赖于protobuf2。
当我编写以下行来创建我们的hbase表
时admin.createTable(desc);
然后我得到了一个例外:NoClassDefFoundError: com/google/protobuf/LiteralByteString
我已尝试使用gradle's shadow plugin将com.google.protobuf重新定位到shadow.google.com,然后它会抛出类似的消息NoClassDefFoundError: shadow/google/protobuf/LiteralByteString
。
答案 0 :(得分:0)
这里有一些剪辑代码
// part of build.gradle of the sub-project
...
dependencies {
compile group: 'org.apache.hbase', name: 'hbase-client', version: '1.2.4'
}
shadowJar {
relocate('com.google.protobuf', 'hbasesaver.google.protobuf')
}
// part of build.gradle for main project
...
compile project(path: ':hbase-wrapper', configuration: 'shadow')