首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Thrift简单服务器无法运行

Apache Thrift简单服务器无法运行
EN

Stack Overflow用户
提问于 2021-07-01 01:46:40
回答 2查看 93关注 0票数 0

我正在尝试运行简单的java服务器/客户端计算器服务器on Thrift教程,但没有成功。我已经下载了预构建的thrift 0.14.2.exe并设置了变量path,到目前为止,我可以从IDL生成存根,但在尝试初始化服务器和客户端时出现了问题。当我尝试使用javac JavaServer.java编译JavaServer时,请参见以下错误

代码语言:javascript
复制
C:\Users\UserX\Desktop\ApacheThrift\thrift-0.14.2\tutorial\java\src>javac JavaServer.java
JavaServer.java:20: error: package org.apache.thrift.server does not exist
import org.apache.thrift.server.TServer;
                               ^
JavaServer.java:21: error: package org.apache.thrift.server.TServer does not exist
import org.apache.thrift.server.TServer.Args;
                                       ^
JavaServer.java:22: error: package org.apache.thrift.server does not exist
import org.apache.thrift.server.TSimpleServer;
                               ^
JavaServer.java:23: error: package org.apache.thrift.server does not exist
import org.apache.thrift.server.TThreadPoolServer;
                               ^
JavaServer.java:24: error: package org.apache.thrift.transport does not exist
import org.apache.thrift.transport.TSSLTransportFactory;
                                  ^
JavaServer.java:25: error: package org.apache.thrift.transport does not exist
import org.apache.thrift.transport.TServerSocket;
                                  ^
JavaServer.java:26: error: package org.apache.thrift.transport does not exist
import org.apache.thrift.transport.TServerTransport;
                                  ^
JavaServer.java:27: error: package org.apache.thrift.transport.TSSLTransportFactory does not exist
import org.apache.thrift.transport.TSSLTransportFactory.TSSLTransportParameters;
                                                       ^
.\CalculatorHandler.java:20: error: package org.apache.thrift does not exist
import org.apache.thrift.TException;
                        ^
.\CalculatorHandler.java:28: error: package Calculator does not exist
public class CalculatorHandler implements Calculator.Iface {
                                                    ^
JavaServer.java:39: error: package Calculator does not exist
  public static Calculator.Processor processor;
                          ^
JavaServer.java:64: error: package Calculator does not exist
  public static void simple(Calculator.Processor processor) {
                                      ^
JavaServer.java:79: error: package Calculator does not exist
  public static void secure(Calculator.Processor processor) {
                                      ^
.\CalculatorHandler.java:30: error: cannot find symbol
  private HashMap<Integer,SharedStruct> log;
                          ^
  symbol:   class SharedStruct
  location: class CalculatorHandler
.\CalculatorHandler.java:45: error: cannot find symbol
  public int calculate(int logid, Work work) throws InvalidOperation {
                                  ^
  symbol:   class Work
  location: class CalculatorHandler
.\CalculatorHandler.java:45: error: cannot find symbol
  public int calculate(int logid, Work work) throws InvalidOperation {
                                                    ^
  symbol:   class InvalidOperation
  location: class CalculatorHandler
.\CalculatorHandler.java:82: error: cannot find symbol
  public SharedStruct getStruct(int key) {
         ^
  symbol:   class SharedStruct
  location: class CalculatorHandler
JavaServer.java:30: error: package tutorial does not exist
import tutorial.*;
^
JavaServer.java:31: error: package shared does not exist
import shared.*;
^
.\CalculatorHandler.java:23: error: package tutorial does not exist
import tutorial.*;
^
.\CalculatorHandler.java:24: error: package shared does not exist
import shared.*;
^
JavaServer.java:44: error: package Calculator does not exist
      processor = new Calculator.Processor(handler);
                                ^
JavaServer.java:66: error: cannot find symbol
      TServerTransport serverTransport = new TServerSocket(9090);
      ^
  symbol:   class TServerTransport
  location: class JavaServer
JavaServer.java:66: error: cannot find symbol
      TServerTransport serverTransport = new TServerSocket(9090);
                                             ^
  symbol:   class TServerSocket
  location: class JavaServer
JavaServer.java:67: error: cannot find symbol
      TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));
      ^
  symbol:   class TServer
  location: class JavaServer
JavaServer.java:67: error: cannot find symbol
      TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));
                           ^
  symbol:   class TSimpleServer
  location: class JavaServer
JavaServer.java:67: error: cannot find symbol
      TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));
                                             ^
  symbol:   class Args
  location: class JavaServer
JavaServer.java:86: error: cannot find symbol
      TSSLTransportParameters params = new TSSLTransportParameters();
      ^
  symbol:   class TSSLTransportParameters
  location: class JavaServer
JavaServer.java:86: error: cannot find symbol
      TSSLTransportParameters params = new TSSLTransportParameters();
                                           ^
  symbol:   class TSSLTransportParameters
  location: class JavaServer
JavaServer.java:98: error: cannot find symbol
      TServerTransport serverTransport = TSSLTransportFactory.getServerSocket(9091, 0, null, params);
      ^
  symbol:   class TServerTransport
  location: class JavaServer
JavaServer.java:98: error: cannot find symbol
      TServerTransport serverTransport = TSSLTransportFactory.getServerSocket(9091, 0, null, params);
                                         ^
  symbol:   variable TSSLTransportFactory
  location: class JavaServer
JavaServer.java:99: error: cannot find symbol
      TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));
      ^
  symbol:   class TServer
  location: class JavaServer
JavaServer.java:99: error: cannot find symbol
      TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));
                           ^
  symbol:   class TSimpleServer
  location: class JavaServer
JavaServer.java:99: error: cannot find symbol
      TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));
                                             ^
  symbol:   class Args
  location: class JavaServer
.\CalculatorHandler.java:33: error: cannot find symbol
    log = new HashMap<Integer, SharedStruct>();
                               ^
  symbol:   class SharedStruct
  location: class CalculatorHandler
.\CalculatorHandler.java:48: error: illegal parenthesized expression
    switch (work.op) {
           ^
.\CalculatorHandler.java:49: error: cannot find symbol
    case ADD:
         ^
  symbol:   variable ADD
  location: class CalculatorHandler
.\CalculatorHandler.java:52: error: cannot find symbol
    case SUBTRACT:
         ^
  symbol:   variable SUBTRACT
  location: class CalculatorHandler
.\CalculatorHandler.java:55: error: cannot find symbol
    case MULTIPLY:
         ^
  symbol:   variable MULTIPLY
  location: class CalculatorHandler
.\CalculatorHandler.java:58: error: cannot find symbol
    case DIVIDE:
         ^
  symbol:   variable DIVIDE
  location: class CalculatorHandler
.\CalculatorHandler.java:60: error: cannot find symbol
        InvalidOperation io = new InvalidOperation();
        ^
  symbol:   class InvalidOperation
  location: class CalculatorHandler
.\CalculatorHandler.java:60: error: cannot find symbol
        InvalidOperation io = new InvalidOperation();
                                  ^
  symbol:   class InvalidOperation
  location: class CalculatorHandler
.\CalculatorHandler.java:68: error: cannot find symbol
      InvalidOperation io = new InvalidOperation();
      ^
  symbol:   class InvalidOperation
  location: class CalculatorHandler
.\CalculatorHandler.java:68: error: cannot find symbol
      InvalidOperation io = new InvalidOperation();
                                ^
  symbol:   class InvalidOperation
  location: class CalculatorHandler
.\CalculatorHandler.java:74: error: cannot find symbol
    SharedStruct entry = new SharedStruct();
    ^
  symbol:   class SharedStruct
  location: class CalculatorHandler
.\CalculatorHandler.java:74: error: cannot find symbol
    SharedStruct entry = new SharedStruct();
                             ^
  symbol:   class SharedStruct
  location: class CalculatorHandler
46 errors

根据我的理解,我认为我不需要用Visual studio构建任何东西,因为我已经在这里解压了.exe和节约库,.What这一步我可能错过了?

EN

回答 2

Stack Overflow用户

发布于 2021-07-01 09:46:53

使用intelliJ和maven解决了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2021-07-14 05:58:00

包org.apache.thrift.server不存在

您缺少Thrift Java运行时库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68199427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档