在Mac上编译/运行Apache Thrift的类路径

时间:2019-02-25 01:25:46

标签: java homebrew thrift

我通过酿造节俭。

brew install thrift

我正在关注以下示例: https://thrift-tutorial.readthedocs.io/en/latest/usage-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

当通过brew安装thrift时,我应该在mac中使用什么类路径?

javac -cp ?? MultiplicationService.java

1 个答案:

答案 0 :(得分:0)

感谢Erwin关于使用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>