Athena JDBC Driver 2.0.7在Maven仓库中是否可用?

3

根据我的了解,Amazon Athena JDBC驱动的推荐maven依赖是com.syncron.amazonaws,simba-athena-jdbc-driver。 我在Maven仓库中找到的最新版本是:

<dependency>
   <groupId>com.syncron.amazonaws</groupId>
   <artifactId>simba-athena-jdbc-driver</artifactId>
   <version>2.0.2</version>
</dependency>

根据文档,最新的驱动程序版本为2.0.7,该版本似乎包含一些非常有用的功能,例如流式结果而不是翻页。
2.0.7版本在Maven仓库中是否可用,还是我需要手动下载并安装它?

1
您使用的驱动程序可能不是官方的 Athena 驱动程序发行版。 - Piotr Findeisen
1
嗨,@PiotrFindeisen,你能分享一下 Athena JDBC 官方发行版的 Maven 仓库链接吗?因为上面提到的 simba-athena-jdbc-driver 已不再提供服务。以下是链接(目前从 2021 年 11 月 9 日开始显示 404): https://repo1.maven.org/maven2/com/syncron/amazonaws/simba-athena-jdbc-driver/2.0.2/ - Swapnil jaiswal
@Swapniljaiswal 底线是驱动程序似乎在maven仓库中不可用,所以你最好按照答案中描述的手动下载和安装它。 - marthursson
2个回答

4

正如@Karol Dowbecki所说,该构件目前不在存储库中。对于其他寻找简单解决方案的人(在没有本地maven镜像的情况下):我最终的做法是下载二进制文件,将其放置在源代码树的/lib目录中,并使用根pom中的install-plugin自动安装:

<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <inherited>false</inherited>
            <executions>
                <execution>
                    <id>install1</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                    <configuration>
                        <groupId>com.syncron.amazonaws</groupId>
                        <artifactId>simba-athena-jdbc-driver</artifactId>
                        <version>${athena-driver.version}</version>
                        <packaging>jar</packaging>
                        <file>${basedir}/lib/AthenaJDBC42_2.0.7.jar</file>
                    </configuration>
                </execution>
            </executions>
        </plugin>
</plugins>  

这个可以运行...有点...有没有办法在依赖检查之前运行它?我能想到的最好方法是将阶段设置为clean。但即使如此,你仍然需要独立运行mvn clean和mvn install,这并不理想。 - rhowell

2
2.0.7版本不在公共Maven仓库(例如Maven Central)中提供。
建议从“使用JDBC驱动程序连接Athena”页面下载并通过mvn install:install-file命令本地安装。

3
这正是我现在所处的位置。虽然这是可能的,但这并不是在Maven世界中处理依赖项的标准方式。它真的应该在仓库里;在仓库中有一个旧的过时版本,并且文档中没有提到任何关于Maven的内容,这就是偷懒的表现。 - marthursson
@marthursson 如果你是作为组织的一部分工作,我建议你考虑使用Nexus或Artifactory建立自己的Maven Central本地镜像。这样,你只需要为组织中的每个人安装新的第三方JAR一次即可。 - Karol Dowbecki
当然,这是可能的,但为了一个单一的构件而付出的努力可能不值得。我确实意识到本地镜像的其他好处,但对于我们的情况来说,这并不值得。最终,我通过使用安装插件执行在根POM中自动下载二进制文件并进行安装。 - marthursson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接