2011-01-13 3 views
4

Я не уверен, с чего начать.Java & Google Protocol Buffers: Есть ли у кого-нибудь простой пример начала работы с этим?

Как некоторые сайты, которые я видел, хотели, чтобы я установил maven и делал кучу вещей с копированием файлов в системные каталоги и добавлял эти каталоги в $ path (который я ненавижу делать, кстати, разработчики должны просто написать установщик). Но в любом случае, библиотека должна быть упакована вместе с моим приложением, поэтому меня не интересует установка буферов протокола ... Просто атакуйте ее в проекте java в eclipse. (например, добавление банок в путь сборки.)

Любые руководства, о которых вы, ребята, знаете?

+0

хотел бы помочь с деталями (один существующий ответ не указывает на правильное направление). Но если вы не должны использовать PB, вы можете рассмотреть альтернативы, которые проще использовать (например, JSON или Hessian). – StaxMan

ответ

4

Вам не нужно делать какие-либо установки на производственных площадках. Вам нужно установить его в окне сборки, чтобы вы могли создавать привязки java для файла .proto, который вы пишете. Это похоже на способ генерации кода из wsdl или xsd. Когда вы сгенерированный код (который помогает в сериализации/десериализации двоичного сообщения), вы можете связать его как банку и использовать ее, как и любую другую библиотеку jar. Here is a small tutorial, чтобы вы начали.

Просто, чтобы добавить больше ясности

Protobuf = XML Schema 
.proto  = xsd 
protoc.exe = xjc 

Процесс выглядит следующим образом

  1. Построить .proto файл, который обеспечил метаинформации
  2. запустить .proto через protoc.exe для него для генерации кода
  3. Связать сгенерированный код в файле jar (или просто импортировать весь этот код в исходное дерево)
  4. Добавить файл банки построить тракт
  5. использовать сгенерированный код в приложении для сер/Deser

Использования Maven значительно упрощает 2, 3 и 4

+0

* «Использование maven значительно упрощает 2,3 и 4» * ... Но по какой цене? Тот, который подходит к моей раковине вашей кухни? ;) Я уверен, что есть другие способы значительно упростить 2,3 и 4. Gradle ... * cough * * cough * ... Gradle. – SyntaxT3rr0r

+1

@ SyntaxT3rr0r: Я не сравниваю maven с другими инструментами. это не намерение. я просто отвечаю на его вопрос, где он явно указал maven –

+0

Существует плагин eclipse, который будет компилировать proto stuff. не знаю, как это работает, но его здесь http://code.google.com/p/protoclipse/. – NullVoxPopuli

Смежные вопросы