#Java项目中使用thrift:
第一次学习java thrift的时候,我们都是手动运行thrift编译器,然后把生成的java文件复制进自己的项目中使用。
但是这种方式在大型项目中不可取。
一是因为thrift编译器的执行操作应该放在公共的机器上而不是每一个开发者在本地运行,本地运行可能导致很多不一致问题,如版本等。
二是从开发角度来说,thrift文件本质定义的是一个接口,接口的实现方和使用方可能会同时开发,那么比较好的流程是,
双方约定好thrift的接口和参数,然后由一方编写thrift文件,双方评审,通过之后,
把thrift文件按照开始介绍的方式打成jar包再部署到maven的仓库中。当然这个过程可能会引入版本控制等过程,可以把所有的thrift接口放在一个公共的项目中。
如果新增一个接口,git会新增一个版本,然后通过部署工具部署到生产环境,部署工具后台会执行maven的一命令,把生成的jar文件部署到maven仓库。
这样,双方在各自的项目中只需要以dependence的方式引入接口的jar包,各自开发即可,互不影响。
总结: 把thrift文件按照开始介绍的方式打成jar包再部署到maven的仓库中。
thrift客户端和服务端双方在各自的项目中只需要以dependence的方式引入接口的jar包,各自开发即可,互不影响
IDEA中Thrift插件配置
IDEA中Thrift插件配置
参考URL: https://www.cnblogs.com/lifuhei/p/10175388.html
- .thrift要放在源码路径下,在目录上右键选择Rebuild ‘thrift’,即可
- IDEA配置Projuct Structure中Modules + 给模块添加Thrift 选择output Path注意选择到源码路径即可,
thrift会根据.thrift指定包名写到相应路径。
maven-thrift-plugin使用
【maven】maven-thrift-plugin 插件使用 + Java项目中thrift使用的正确姿势
参考URL: https://blog.csdn.net/u010900754/article/details/80172671
需要在pom中导入依赖和编译的插件。
(1)因为我们这里要生成thrift对应的java文件,所以一定要导入thrift相关的依赖,也就是libthrift的jar包;
(2)原生的maven并不会为我们编译thrift文件,所以需要在build中加入maven-thrift-plugin插件;
<plugin>
<groupId>org.apache.thrift.tools</groupId>
<artifactId>maven-thrift-plugin</artifactId>
<version>0.1.11</version>
<configuration>
<!--<thriftExecutable>/usr/local/bin/thrift</thriftExecutable>-->
<!--<thriftSourceRoot>src/main/thrift</thriftSourceRoot>-->
<!--<outputDirectory>src/main/java</outputDirectory>-->
</configuration>
<executions>
<execution>
<id>thrift-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<!--<execution>-->
<!--<id>thrift-test-sources</id>-->
<!--<phase>generate-test-sources</phase>-->
<!--<goals>-->
<!--<goal>testCompile</goal>-->
<!--</goals>-->
<!--</execution>-->
</executions>
</plugin>
</plugins>
</build>