我的一个构建脚本导入了这个星云插件:
plugins {
id 'nebula.ospackage' version '3.5.0'
}
Run Code Online (Sandbox Code Playgroud)
我一直在将所有版本信息移动到一个单独的文件中,所有项目都可以访问,并且想知道转换为以下内容的正确语法是什么:
plugins {
id 'nebula.ospackage' version "$versions.nebula_gradle_ospackage_plugin"
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用"gradle clean build"运行上面的操作时,出现以下错误:
构建文件'build.gradle':2:参数列表必须正好是1个非空字符串
有关 插件{}块的信息,请参阅 https://docs.gradle.org/2.7/userguide/plugins.html#sec:plugins_block
@第2行,第33列.id'nebula.ospackage'版本"$ versions.nebula_gradle_ospackage_plugin"
链接的文章展示了我如何使用"buildscript"块,它可以工作,但似乎必须有一种方法可以使这个工作在一行?
在Ruby中序列化protobuf对象和在Java中解析的正确方法是什么?这是为了自动化测试,我们正在Rabbit队列中侦听此消息.
发布者(Ruby):
protoNew = Protobuf::Request.new
protoNew.request = request
protoNew.id = id.to_i
protoNew.authentication = authentication
return protoNew.serialize_to_string
Run Code Online (Sandbox Code Playgroud)
消费者(Java):
@Override
public void onMessage(Message message, Channel channel)
{
ProtoRequest protoRequest;
try {
protoRequest = ProtoRequest.parseFrom(message.getBody());
} catch (InvalidProtocolBufferException e1) {
logger.error("Error parsing protobuf", e1);
}
Run Code Online (Sandbox Code Playgroud)
这是我看到的错误:
解析protobuf时出错:com.google.protobuf.InvalidProtocolBufferException:协议消息end-group标记与期望标记不匹配.at com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:94)[protobuf-java-2.6.1.jar:] at com.google.protobuf.CodedInputStream.checkLastTagWas(CodedInputStream.java:174)[protobuf-java -2.6.1.jar:] com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:139)[protobuf-java-2.6.1.jar:] at com.google.protobuf.AbstractParser.parseFrom(AbstractParser. java:168)[protobuf-java-2.6.1.jar:] com.google上的com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:180)[protobuf-java-2.6.1.jar:]. protobuf.AbstractParser.parseFrom(AbstractParser.java:185)[protobuf-java-2.6.1.jar: