Как импортировать Thrift в программу Java? - PullRequest
2 голосов
/ 15 января 2020

Я пишу Java -программу для школы, которая также использует Thrift. Проблема не столько в самой программе / программе-логи c, сколько в импорте Thrift (чтобы использовать ее в определенной части c).

Мои основы c - возможно, неправильно - понимание состоит в том, что вы пишете программный код (здесь empfaenger. java), затем импортируете Thrift в этот файл, добавляя необходимые операторы import, например:

import org.apache.thrift.TException;  
import org.apache.thrift.protocol.TBinaryProtocol;  
import org.apache.thrift.protocol.TProtocol;  
import org.apache.thrift.transport.TSocket ;  
import org.apache.thrift.transport.TTransport;  

и добавляя файл в тот же каталог, из которого они действительно могут быть импортированы, в данном случае libthrift-0.13.0.jar. (1) Затем вы позже также импортируете скомпилированный .thrift-файл с реализацией c языка, определяющего язык, с помощью IDL-кода, что снова само по себе импортирует некоторые Thrift-классы. Этот файл здесь называется syncautohersteller.

EDIT : Проф.
рекомендовал подход с .jar-файлом. Текущая структура проекта (как видно из InteliJ):
enter image description here
Проблема теперь заключается только в том, что все операторы импорта Thrift все выдают ошибки, например,

  • empfaenger.java

java: пакет org. apache .thrift не существует

  • syncautohersteller

пакет javax.annotation не существует

так ясно, что я делаю что-то не так. Кто-нибудь знает, как это исправить?


(1) Я получил файл из папки Thrift (Home/Downloads/thrift-0.13.0/lib/java/build/libs, а затем первый из трех .jar-файлов в папке) после установки Thrift с помощью. /configure, sudo make и sudo make install и пытается выполнить проверку, запустив «~ / Downloads / thrift-0.13.0 $ thrift –version» с результатом

версия Thrift 0.13.0

Ответы [ 2 ]

3 голосов
/ 15 января 2020

В IntellJ Idea для добавления внешних JAR-файлов вы можете найти полезную информацию в этом вопросе: Правильный способ добавления внешних JAR-файлов (lib / *. Jar) в проект IntelliJ IDEA .


Я предлагаю вам управлять зависимостями проекта через Maven , который поможет вам добавить JAR-зависимости в путь к классам более простым способом.
Во-первых, вы должны преобразовать свой проект в Maven. проект, как объяснено в документации IntelliJ Idea.
Затем вы можете выполнить следующие шаги:

  1. Go до веб-сайт хранилища Maven
  2. Поиск Thrift
  3. Выберите первый результат
  4. Выберите нужную версию enter image description here
  5. Скопируйте зависимость maven

    org. apache .thrift libthrift 0.13.0

  6. Добавить maven-зависимость к вашему pom. xml file

  7. Выполните mvn clean install, после нажатия следующей кнопки в IntelliJ enter image description here

    Этот пр ocess поможет вам и людям, которые работают с вами, проще управлять зависимостями проекта.

2 голосов
/ 15 января 2020

Вы можете сделать это самым простым способом с Gradle, что-то вроде этого:

build.gradle.kts:

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.apache.thrift:libthrift:0.13.0")
}
...