You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android项目提取DOCX元数据时依赖引入失败求助

解决Android提取DOCX元数据的依赖问题

一、修复Apache Tika构建失败问题

1. 解决依赖解析失败

确保项目根目录的settings.gradle(Android Studio Arctic Fox及以上版本)或build.gradle中配置了MavenCentral仓库:

// settings.gradle
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
    }
}

2. 解决类文件主版本63不兼容问题

类文件主版本63对应Java 19,Android Gradle插件默认编译版本通常低于此,可在app模块的build.gradle中提升编译版本:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_19
        targetCompatibility JavaVersion.VERSION_19
    }
    // 若使用Kotlin,补充以下配置
    kotlinOptions {
        jvmTarget = "19"
    }
}

如果不想升级Java版本,可降级Tika到兼容低版本Java的稳定版,比如2.4.1(依赖的jackson-core为2.13.x,对应Java 17,主版本61,多数Android环境支持):

implementation 'org.apache.tika:tika-core:2.4.1'
implementation 'org.apache.tika:tika-parsers-standard-package:2.4.1'

3. 轻量化替代方案

Tika的standard-package包含大量非必要解析器,若仅需处理DOCX,可只引入OOXML模块依赖,减少体积:

implementation 'org.apache.tika:tika-core:2.8.0'
implementation 'org.apache.tika:tika-parser-ooxml-module:2.8.0'

二、修复GroupDocs Parser依赖找不到问题

GroupDocs Parser的官方依赖不在Maven中央仓库,需添加其私有仓库到项目配置:
在根目录settings.gradle中添加:

dependencyResolutionManagement {
    repositories {
        // 保留原有仓库
        maven { url "https://repository.groupdocs.com/repo/" }
    }
}

之后再引入依赖即可:

implementation 'com.groupdocs:groupdocs-parser:23.2'

三、额外推荐:使用POI直接处理DOCX元数据

若仅需提取DOCX元数据,Apache POI的OOXML模块更轻量化,无兼容性问题:

implementation 'org.apache.poi:poi-ooxml:5.2.5'

提取元数据示例代码:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.ooxml.POIXMLProperties;
import java.io.FileInputStream;

// 读取DOCX文件
XWPFDocument doc = new XWPFDocument(new FileInputStream("your_file.docx"));
POIXMLProperties properties = doc.getProperties();
// 获取核心元数据
POIXMLProperties.CoreProperties coreProps = properties.getCoreProperties();
String title = coreProps.getTitle();
String author = coreProps.getCreator();
String subject = coreProps.getSubject();
// 获取扩展元数据
POIXMLProperties.ExtendedProperties extProps = properties.getExtendedProperties();
long wordCount = extProps.getUnderlyingProperties().getWords();

内容的提问来源于stack exchange,提问作者user21978083

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 10:32:24