diff --git a/jprotobuf-precompile-plugin/src/main/java/com/baidu/jprotobuf/mojo/JprotobufPreCompileMain.java b/jprotobuf-precompile-plugin/src/main/java/com/baidu/jprotobuf/mojo/JprotobufPreCompileMain.java index b99519b7..1960bd15 100644 --- a/jprotobuf-precompile-plugin/src/main/java/com/baidu/jprotobuf/mojo/JprotobufPreCompileMain.java +++ b/jprotobuf-precompile-plugin/src/main/java/com/baidu/jprotobuf/mojo/JprotobufPreCompileMain.java @@ -124,7 +124,12 @@ protected void onEntry(EntryData entryData) throws Exception { } try { - List fields = FieldUtils.findMatchedFields(c, Protobuf.class); + List fields = null; + try { + fields = FieldUtils.findMatchedFields(c, Protobuf.class); + } catch (Exception e) { + return; + } if (!fields.isEmpty()) { compiledClasses.add(c); ProtobufProxy.create(c, false, outputPath); diff --git a/v3/src/test/java/com/baidu/bjf/remoting/protobuf/idlproxy/ProtobufIDLProxyTest.java b/v3/src/test/java/com/baidu/bjf/remoting/protobuf/idlproxy/ProtobufIDLProxyTest.java index eb12b4ed..a517cad8 100644 --- a/v3/src/test/java/com/baidu/bjf/remoting/protobuf/idlproxy/ProtobufIDLProxyTest.java +++ b/v3/src/test/java/com/baidu/bjf/remoting/protobuf/idlproxy/ProtobufIDLProxyTest.java @@ -15,11 +15,10 @@ */ package com.baidu.bjf.remoting.protobuf.idlproxy; +import java.io.File; import java.io.IOException; import java.util.Map; -import junit.framework.Assert; - import org.junit.Test; import com.baidu.bjf.remoting.protobuf.IDLProxyObject; @@ -29,6 +28,8 @@ import com.baidu.bjf.remoting.protobuf.simpletypes.AllTypes.InterClassName; import com.baidu.bjf.remoting.protobuf.simpletypes.AllTypesPojoClass; +import junit.framework.Assert; + /** * Test class for {@link ProtobufIDLProxy} * @@ -36,6 +37,16 @@ * @since 1.0.2 */ public class ProtobufIDLProxyTest { + + @Test + public void testCodeGenerateFromIDL() { + String protoCotent = "package mypackage.test; " + + "option java_package = \"com.baidu.bjf.remoting.protobuf.simplestring\";" + + "option java_outer_classname = \"StringTypeClassToIDLGenerator\"; " + "message StringMessage { " + + " required string message = 1 [default = \"hello\"]; }"; + ProtobufIDLProxy.generateSource(protoCotent, new File(".")); + + } @Test public void testDecode() throws Exception { @@ -43,7 +54,7 @@ public void testDecode() throws Exception { String protoCotent = "package mypackage.test; " + "option java_package = \"com.baidu.bjf.remoting.protobuf.simplestring\";" + "option java_outer_classname = \"StringTypeClass\"; " + "message StringMessage { " - + " required string message = 1; }"; + + " required string message = 1 [default = \"hello\"]; }"; IDLProxyObject object = ProtobufIDLProxy.createSingle(protoCotent); // 动态设置字段值