classpath для компиляции / запуска Apache Thrift на Mac - PullRequest
0 голосов
/ 25 февраля 2019

Я установил комиссионные через варку.

brew install thrift

Я следую этому примеру: https://thrift -tutorial.readthedocs.io / en / latest / use-example.html

Я могусгенерировать код для Java:

thrift --gen java multiple.thrift

Я хочу скомпилировать файлы MultiplicationService.java или MultiplicationHandler.java.

javac MultiplicationService.java
MultiplicationService.java:15: error: package org.apache.thrift does not exist

какой classpath я должен использовать в Mac, когда Thrift установлен через brew?

javac -cp ?? MultiplicationService.java

1 Ответ

0 голосов
/ 26 февраля 2019

Спасибо Эрвину за его предложение об использовании maven, я смог заставить этот отличный пример работать на моем Mac.

Вот шаги:

  • Создать простой проект mvn с помощью быстрого запуска mvn: mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-thrift-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

  • положить всеjava-файлы в папке: src/main/java/com/mycompany/app java-файлы: MultiplicationClient.java, MultiplicationServer.java, MultiplicationHandler.java (все 3 копии вставлены из примера) и MultiplicationService.java (сгенерировано thrift --gen)

  • добавить следующий пакет ко всем 4 java-файлам: package com.mycompany.app;

  • добавить зависимость внизу этого сообщения в pom-файл.Убедитесь, что версия совпадает с комиссионной, установленной brew.

  • скомпилируйте проект: mvn package

  • запустите сервер: mvn exec:java -Dexec.mainClass="com.mycompany.app.MultiplicationServer"

  • запустить клиент в другом терминале: mvn exec:java -Dexec.mainClass="com.mycompany.app.MultiplicationClient"

зависимость:

<dependency>
  <groupId>org.apache.thrift</groupId>
  <artifactId>libthrift</artifactId>
  <version>0.11.0</version>
</dependency>
...