使用Arrow-Dataset Java库遇arrow_dataset_jni.dll缺失错误的解决咨询
解决找不到arrow_dataset_jni.dll的问题
1. 补全Maven平台依赖
Arrow的JNI原生库是分平台发布的,仅引入arrow-datasetJava依赖不足以自动获取Windows平台的DLL。需要在pom.xml中添加对应平台的JNI依赖:
<dependency> <groupId>org.apache.arrow</groupId> <artifactId>arrow-dataset</artifactId> <version>你的Arrow版本号</version> </dependency> <dependency> <groupId>org.apache.arrow</groupId> <artifactId>arrow-dataset-jni</artifactId> <version>你的Arrow版本号</version> <classifier>windows-x86_64</classifier> </dependency>
执行mvn clean install重新拉取依赖,Maven会自动下载包含arrow_dataset_jni.dll的JNI包。
2. 验证依赖完整性
检查本地Maven仓库中arrow-dataset-jni的JAR包,解压后确认内部是否包含arrow_dataset_jni.dll。同时确保你的JVM是64位版本,Arrow官方JNI包仅支持64位Windows环境。
3. 手动指定DLL加载路径
如果自动加载失败,可手动提取并放置DLL:
- 从JNI JAR中解压出
arrow_dataset_jni.dll - 将其放入以下任一目录:
- JDK安装目录的
bin文件夹 - Windows系统的
System32文件夹 - 项目的
src/main/resources目录,启动时添加JVM参数:-Djava.library.path=./src/main/resources
- JDK安装目录的
4. 自行编译DLL(可选)
若官方JNI包不匹配你的环境,可以自行编译:
- 克隆Apache Arrow仓库:
git clone https://github.com/apache/arrow.git - 切换到对应版本分支:
git checkout apache-arrow-<你的版本号> - 使用CMake和Visual Studio按照官方Windows编译指南,编译dataset模块的JNI部分
- 编译完成后将生成的
arrow_dataset_jni.dll放入可被JVM识别的路径
内容的提问来源于stack exchange,提问作者Jac
相关产品推荐
相关产品推荐

