1 Protocol Buffers - Google's data interchange format 2 =================================================== 3 4 [![Build Status](https://travis-ci.org/google/protobuf.svg?branch=master)](https://travis-ci.org/google/protobuf) 5 6 Copyright 2008 Google Inc. 7 8 This directory contains the Java Protocol Buffers runtime library. 9 10 Installation - With Maven 11 ========================= 12 13 The Protocol Buffers build is managed using Maven. If you would 14 rather build without Maven, see below. 15 16 1) Install Apache Maven if you don't have it: 17 18 http://maven.apache.org/ 19 20 2) Build the C++ code, or obtain a binary distribution of protoc. If 21 you install a binary distribution, make sure that it is the same 22 version as this package. If in doubt, run: 23 24 $ protoc --version 25 26 You will need to place the protoc executable in ../src. (If you 27 built it yourself, it should already be there.) 28 29 3) Run the tests: 30 31 $ mvn test 32 33 If some tests fail, this library may not work correctly on your 34 system. Continue at your own risk. 35 36 4) Install the library into your Maven repository: 37 38 $ mvn install 39 40 5) If you do not use Maven to manage your own build, you can build a 41 .jar file to use: 42 43 $ mvn package 44 45 The .jar will be placed in the "target" directory. 46 47 Installation - 'Lite' Version - With Maven 48 ========================================== 49 50 Building the 'lite' version of the Java Protocol Buffers library is 51 the same as building the full version, except that all commands are 52 run using the 'lite' profile. (see 53 http://maven.apache.org/guides/introduction/introduction-to-profiles.html) 54 55 E.g. to install the lite version of the jar, you would run: 56 57 $ mvn install -P lite 58 59 The resulting artifact has the 'lite' classifier. To reference it 60 for dependency resolution, you would specify it as: 61 62 ``` 63 <dependency> 64 <groupId>com.google.protobuf</groupId> 65 <artifactId>protobuf-java</artifactId> 66 <version>${version}</version> 67 <classifier>lite</classifier> 68 </dependency> 69 ``` 70 71 Installation - Without Maven 72 ============================ 73 74 If you would rather not install Maven to build the library, you may 75 follow these instructions instead. Note that these instructions skip 76 running unit tests. 77 78 1) Build the C++ code, or obtain a binary distribution of protoc. If 79 you install a binary distribution, make sure that it is the same 80 version as this package. If in doubt, run: 81 82 $ protoc --version 83 84 If you built the C++ code without installing, the compiler binary 85 should be located in ../src. 86 87 2) Invoke protoc to build DescriptorProtos.java: 88 89 $ protoc --java_out=src/main/java -I../src \ 90 ../src/google/protobuf/descriptor.proto 91 92 3) Compile the code in src/main/java using whatever means you prefer. 93 94 4) Install the classes wherever you prefer. 95 96 Usage 97 ===== 98 99 The complete documentation for Protocol Buffers is available via the 100 web at: 101 102 https://developers.google.com/protocol-buffers/ 103