如何将 Thrift 导入 Java 程序?
How to import Thrift into Java program?
我正在为也使用 Thrift 的学校编写 Java 程序。
问题不在于一般programm/programm-logic本身,而只是导入Thrift(在特定部分使用它)。
我的基本理解(可能是错误的理解)是您编写程序代码(此处 empfaenger.java),然后通过添加所需的导入语句将 Thrift 导入该文件,例如:
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 文件,其中包含特定于语言的IDL 代码的实现,它自己再次导入一些 Thrift-类。此文件在此命名为 syncautohersteller
。
编辑:教授推荐使用 .jar 文件的方法。
当前项目结构(如 InteliJ 中所示):
现在的问题是所有 Thrift 导入语句都会抛出错误,例如
empfaenger.java
java: package org.apache.thrift does not exist
syncautohersteller
package javax.annotation does not exist
很明显我做错了什么。
有人知道如何解决这个问题吗?
(1) 在使用 ./configure
、sudo make
和 sudo make install
并尝试通过 运行 “~/Downloads/thrift-0.13.0$ thrift –version” 验证结果
Thrift version 0.13.0
您可以使用 Gradle 以最简单的方式做到这一点,如下所示:
build.gradle.kts
:
repositories {
mavenCentral()
}
dependencies {
implementation("org.apache.thrift:libthrift:0.13.0")
}
In IntellJ Idea to add external Jars 你可以在这个问题中找到一些有用的信息:Correct way to add external jars (lib/*.jar) to an IntelliJ IDEA project。
我建议你通过Maven来管理项目的依赖关系,这有助于你以更简单的方式将JAR依赖关系添加到类路径中。
首先,您必须按照说明 in IntelliJ Idea documentation.
将您的项目转换为 Maven 项目
那么您可以按照以下步骤操作:
- 转到Maven repository website
- 搜索
Thrift
- Select 第一个结果
- Select你需要的版本
复制maven依赖
org.apache.thrift
节俭
0.13.0
将 Maven 依赖项添加到您的 pom.xml 文件
执行一个mvn clean install
,在IntelliJ中点击以下按钮后
此过程将帮助您和与您一起工作的人以更简单的方式管理项目的依赖关系。
我正在为也使用 Thrift 的学校编写 Java 程序。 问题不在于一般programm/programm-logic本身,而只是导入Thrift(在特定部分使用它)。
我的基本理解(可能是错误的理解)是您编写程序代码(此处 empfaenger.java),然后通过添加所需的导入语句将 Thrift 导入该文件,例如:
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 文件,其中包含特定于语言的IDL 代码的实现,它自己再次导入一些 Thrift-类。此文件在此命名为 syncautohersteller
。
编辑:教授推荐使用 .jar 文件的方法。
当前项目结构(如 InteliJ 中所示):
现在的问题是所有 Thrift 导入语句都会抛出错误,例如
empfaenger.java
java: package org.apache.thrift does not exist
syncautohersteller
package javax.annotation does not exist
很明显我做错了什么。 有人知道如何解决这个问题吗?
(1) 在使用 ./configure
、sudo make
和 sudo make install
并尝试通过 运行 “~/Downloads/thrift-0.13.0$ thrift –version” 验证结果
Thrift version 0.13.0
您可以使用 Gradle 以最简单的方式做到这一点,如下所示:
build.gradle.kts
:
repositories {
mavenCentral()
}
dependencies {
implementation("org.apache.thrift:libthrift:0.13.0")
}
In IntellJ Idea to add external Jars 你可以在这个问题中找到一些有用的信息:Correct way to add external jars (lib/*.jar) to an IntelliJ IDEA project。
我建议你通过Maven来管理项目的依赖关系,这有助于你以更简单的方式将JAR依赖关系添加到类路径中。
首先,您必须按照说明 in IntelliJ Idea documentation.
将您的项目转换为 Maven 项目
那么您可以按照以下步骤操作:
- 转到Maven repository website
- 搜索
Thrift
- Select 第一个结果
- Select你需要的版本
复制maven依赖
org.apache.thrift 节俭 0.13.0
将 Maven 依赖项添加到您的 pom.xml 文件
执行一个mvn
clean install
,在IntelliJ中点击以下按钮后此过程将帮助您和与您一起工作的人以更简单的方式管理项目的依赖关系。