在java开发中,如果需要编译thrift文件时,需要使用插件maven-thrift-plugin,然而这个插件不支持跨平台(比如开发在mac,运行在linux上),这就对编译环境提出比较高的要求。然而我们可以通过简单的配置pom.xml完成。
<build>
<extensions>
<extension>
<!-- 获取平台类型 -->
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.5.0.Final</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.apache.thrift.tools</groupId>
<artifactId>maven-thrift-plugin</artifactId>
<version>0.1.11</version>
<configuration>
<thriftExecutable>${basedir}/tool/thrift_0.9.2_${os.detected.name}</thriftExecutable>
<thriftSourceRoot>idl</thriftSourceRoot>
<generator>java</generator>
</configuration>
<executions>
<execution>
<id>thrift-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
插件os-maven-plugin:是为了获取平台类型,例如window,linux,osx等,通过${os.detected.name}获取类型
在目录tool中提前放号thrift工具,即可: