Apache Calcite doc avatica-08-Custom Client Artifacts
2024年1月10日大约 2 分钟
自定义客户端构件
Avatica的两个构件
截至到Apache Calcite Avatica 1.9.0版本,提供了两个(JAR)构件,使得客户端可以通过JDBC访问Avatica服务器。
org.apache.calcite.avatica
avatica
org.apache.calcite.avatica
avatica-core
按照以往版本的惯例,org.apache.calcite.avatica:avatica是一个JAR,其中包含Avatica客户端代码库的所有必要依赖项。那些可以安全重定位的类已经这样做了,以减少可能发生的类路径问题。
Avatica 1.9.0将引入一个新的构件org.apache.calcite.avatica:avatica-core,这只包含Avatica客户端类而没有任何捆绑的依赖项。
该构件使用户能够使用不同版本的JAR构建类路径,而不是Avatica目前依赖的版本。
这是一种“你的体验可能会有所不同”或“取消保修”的决定(因为您正在使用我们未经测试的依赖项的Avatica);但是,一些下游项目确实提供了对版本之间兼容性的合理保证。
构建自己的Avatica客户端构件
在某些情况下,提供特定版本的Avatica依赖项可能会很有益。以下是一个简要的pom.xml,概述了如何完成这项工作。
4.0.0
myorg.custom.client
my-special-app-client
jar
Special Application Client Artifact
为我的组织特定应用构建的自定义构件,使用Apache Calcite Avatica
myorg.custom.client
org.apache.calcite.avatica
avatica-core
1.9.0
org.apache.httpcomponents
httpclient
4.5.3
com.google.guava
guava
17.0
org.apache.maven.plugins
maven-shade-plugin
package
shade
com.fasterxml.jackson
${myorg.prefix}.com.fasterxml.jackson
com.google.protobuf
${myorg.prefix}.com.google.protobuf
org.apache.http
${myorg.prefix}.org.apache.http
org.apache.commons
${myorg.prefix}.org.apache.commons
false
注意: 以上提供的pom.xml是一个示例,您可能需要根据您的项目需求进行调整。
参考资料
https://calcite.apache.org/avatica/docs/custom_client_artifacts.html
贡献者
binbin.hou