如何修复“导入com.dyuproject无法解析”错误

jkwinn26

我是Java的新手,尤其是Maven的新手,尤其是protostuff项目(protostuff网站)。我需要使用protostuff将XML序列化/反序列化为Google的protobuf格式。我尝试使用protobuf-java-format软件包,但是反序列化中有一个已记录的错误,这对我来说是个阻碍(问题37)。

到目前为止,我已经完成了以下工作:

  1. 下载protostuff-1.3.1并解压缩。
  2. mvn integration-testmvn installmvn package和所有步骤成功。
  3. 然后,我创建了一个新的maven项目,并包含一个此处所述的原型。
  4. 然后,我修改了pom.xml并protostuff:compile按照上述链接中的描述运行原型,生成了以下Person.java文件

    // Generated by http://code.google.com/p/protostuff/ ... DO NOT EDIT!
    // Generated from foo.proto
    
    package com.example.foo;
    
    import java.io.Externalizable;
    import java.io.IOException;
    import java.io.ObjectInput;
    import java.io.ObjectOutput;
    
    import com.dyuproject.protostuff.ByteString;
    import com.dyuproject.protostuff.GraphIOUtil;
    import com.dyuproject.protostuff.Input;
    import com.dyuproject.protostuff.Message;
    import com.dyuproject.protostuff.Output;
    import com.dyuproject.protostuff.Schema;
    import com.dyuproject.protostuff.UninitializedMessageException;
    
    public final class Person implements Externalizable, Message<Person>, Schema<Person>
    {
        public enum Gender implements com.dyuproject.protostuff.EnumLite<Gender>
        {
            MALE(1),
            FEMALE(2);
    
            public final int number;
    
            private Gender (int number)
            {
                this.number = number;
            }
    
            public int getNumber()
            {
                return number;
            }
    
            public static Gender valueOf(int number)
            {
                switch(number) 
                {
                    case 1: return MALE;
                    case 2: return FEMALE;
                    default: return null;
                }
            }
        }
    
    
        public static Schema<Person> getSchema()
        {
            return DEFAULT_INSTANCE;
        }
    
        public static Person getDefaultInstance()
        {
            return DEFAULT_INSTANCE;
        }
    
        static final Person DEFAULT_INSTANCE = new Person();
    
        static final String DEFAULT_MOTTO = ByteString.stringDefaultValue("When the cat is away, the mouse is alone!");
        static final Gender DEFAULT_GENDER = Gender.MALE;
    
        private Integer id;
        private String name;
        private String motto = DEFAULT_MOTTO;
        private Gender gender;
    
        public Person()
        {
    
        }
    
        public Person(
            Integer id
        )
        {
            this.id = id;
        }
    
        // getters and setters
    
        // id
    
        public Integer getId()
        {
            return id;
        }
    
        public void setId(Integer id)
        {
            this.id = id;
        }
    
        // name
    
        public String getName()
        {
            return name;
        }
    
        public void setName(String name)
        {
            this.name = name;
        }
    
        // motto
    
        public String getMotto()
        {
            return motto;
        }
    
        public void setMotto(String motto)
        {
            this.motto = motto;
        }
    
        // gender
    
        public Gender getGender()
        {
            return gender == null ? Gender.MALE : gender;
        }
    
        public void setGender(Gender gender)
        {
            this.gender = gender;
        }
    
        // java serialization
    
        public void readExternal(ObjectInput in) throws IOException
        {
            GraphIOUtil.mergeDelimitedFrom(in, this, this);
        }
    
        public void writeExternal(ObjectOutput out) throws IOException
        {
            GraphIOUtil.writeDelimitedTo(out, this, this);
        }
    
        // message method
    
        public Schema<Person> cachedSchema()
        {
            return this;
        }
    
        // schema methods
    
        public Person newMessage()
        {
            return new Person();
        }
    
        public Class<Person> typeClass()
        {
            return Person.class;
        }
    
        public String messageName()
        {
            return Person.class.getSimpleName();
        }
    
        public String messageFullName()
        {
            return Person.class.getName();
        }
    
        public boolean isInitialized(Person message)
        {
            return 
                message.id != null;
        }
    
        public void mergeFrom(Input input, Person message) throws IOException
        {
            for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this))
            {
                switch(number)
                {
                    case 0:
                        return;
                    case 1:
                        message.id = input.readInt32();
                        break;
                    case 2:
                        message.name = input.readString();
                        break;
                    case 3:
                        message.motto = input.readString();
                        break;
                    case 4:
                        message.gender = Gender.valueOf(input.readEnum());
                        break;
                    default:
                        input.handleUnknownField(number, this);
                }   
            }
        }
    
    
        public void writeTo(Output output, Person message) throws IOException
        {
            if(message.id == null)
                throw new UninitializedMessageException(message);
            output.writeInt32(1, message.id, false);
    
            if(message.name != null)
                output.writeString(2, message.name, false);
    
            if(message.motto != null && message.motto != DEFAULT_MOTTO)
                output.writeString(3, message.motto, false);
    
            if(message.gender != null)
                 output.writeEnum(4, message.gender.number, false);
        }
    
        public String getFieldName(int number)
        {
            switch(number)
            {
                case 1: return "id";
                case 2: return "name";
                case 3: return "motto";
                case 4: return "gender";
                default: return null;
            }
        }
    
        public int getFieldNumber(String name)
        {
            final Integer number = __fieldMap.get(name);
            return number == null ? 0 : number.intValue();
        }
    
        private static final java.util.HashMap<String,Integer> __fieldMap = new java.util.HashMap<String,Integer>();
        static
        {
            __fieldMap.put("id", 1);
            __fieldMap.put("name", 2);
            __fieldMap.put("motto", 3);
            __fieldMap.put("gender", 4);
        }
    
    }
    

我正在Eclipse(Luna版本)中构建整个项目,它为上述文件给出了错误“无法解析导入com.dyuproject”。我不明白为什么它会给出错误或如何找到/安装该软件包,以便Eclipse可以看到它。Maven应该已经建立/提供了吗?

我在VirtualBox VM上运行CentOS版本6.4(最终版):

uname -a Linux localhost.localdomain 2.6.32-358.18.1.el6.x86_64 #1 SMP Wed Aug 28 17:19:38 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux `

科斯蒂安

像你看起来是使用不兼容protostuff-coreprotostuff-maven-plugin版本。

从1.1版开始,protostuff使用packageio.protostuff而不是com.dyuproject.protostuffProtostuff依赖版本和Protostuff Maven插件版本应相等(最新版本为1.3.5)。

protostuff-maven-plugin用于代码生成的Maven项目的示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何修复“错误:遇到无法恢复的循环解析导入”?

如何修复错误“无法解析列...”

如何修复 CURL 错误“无法解析主机”?

如何修复错误“无法解析索引名称”

如何修复AWS Lambda中的“无法导入模块”错误

如何修复错误“无法从‘serial’(未知位置)导入名称‘serial’”?

即使已导入,如何修复属性错误

错误:如何修复Wordpress主题的导入演示

如何修复导入错误的模块中的SyntaxError?

如何修复Python 3.7导入错误

如何修复 MacOs 中的 xgboost 导入错误?

如何修复我的 golang 导入循环错误

Django 模型如何修复循环导入错误?

如何修复“ ImportError:无法导入名称IncompleteRead”?

如何修复“无法解析 com.shawnlin:number-picker:2.4.8.” Android Studio 中的错误

Eclipse 错误:“导入...无法解析”

如何修复“:react-native-firebase:compileDebugJavaWithJavac FAILED” +无法找到导入com.google.firebase.iid.FirebaseInstanceIdService;

如何修复“导入错误:无法导入名称label_map_util”

如何修复:“ deno错误:无法解析模块'x'”

如何修复Elasticsearch中的“无法解析日期字段”错误

如何修复“错误:无法生成 COM 文件,存在堆栈段”?

如何在 Eclipse 中修复未解析的导入 PyDev

如何修复PyDev“导入时未定义变量”错误?

如何修复jenkins中的python模块导入错误

如何修复“未捕获的语法错误:意外的令牌导入”?

在Android Studio中导入项目后如何修复错误

如何修复ChangeDetectorRef导入错误:ChangeDetectorRef没有提供程序

如何在 linux 上修复 psutil 导入错误“权限被拒绝”?

如何在 Python 中修复此循环导入错误