Java protobuf run-time formal example不起作用



我正在尝试从这里运行java源代码中protobuf的官方示例,跟着 README.mdprotoc 生成 javasource 代码很好,但我无法通过以下方式运行代码:

1-java AddPerson data

2- java -

cp protobuf-java-3.5.1.jar AddPerson

1-java AddPerson 数据的错误是:

Exception in thread "main" java.lang.NoClassDefFoundError: 
"com/google/protobuf/MessageOrBuilder
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at AddPerson.main(AddPerson.java:69)
Caused by: java.lang.ClassNotFoundException: 
com.google.protobuf.MessageOrBuilder
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 25 more"

2- 错误: java -cp target/protobuf-java-3.5.1.jar AddPerson

Error: Could not find or load main class AddPerson

[enter image description here][2]

尝试在类路径中包含当前目录: java -cp .:target/protobuf-java-3.5.1.jar AddPerson

.:是追加类路径。对于窗口,它是;而不是: 。[1]

[1] https://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html

相关内容

最新更新