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

Alfresco 5.2添加依赖后OOoDirect子系统加载失败问题

问题分析

核心错误为java.lang.ClassCastException: java.util.ArrayList cannot be cast to [Ljava.lang.String;,触发点在OpenOffice启动命令的Spring Bean初始化阶段。引入libreriaENI依赖后出现此问题,说明该依赖存在类加载冲突,或是其传递依赖引入了与Alfresco 5.2.x兼容的Spring版本不一致的包,导致Spring解析Bean属性时类型转换异常。

解决方案

1. 排查并排除冲突的传递依赖

使用Maven命令查看libreriaENI的依赖树,重点检查Spring相关包是否与Alfresco自带版本冲突:

mvn dependency:tree -Dverbose -Dincludes=org.springframework

若发现冲突版本,在pom.xml中排除对应传递依赖:

<dependency>
    <groupId>es.gob.aapp</groupId>
    <artifactId>libreriaENI</artifactId>
    <version>1.4.3</version>
    <exclusions>
        <!-- 根据实际排查结果调整排除项 -->
        <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

2. 调整Tomcat类加载顺序

修改Tomcat的conf/catalina.properties,确保Alfresco核心包优先加载:

shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar,${catalina.home}/webapps/alfresco/WEB-INF/lib/*.jar

3. 禁用OOoDirect子系统(若无需文档转换功能)

如果业务不需要Alfresco的OpenOffice文档转换能力,直接在alfresco-global.properties中禁用该子系统:

oo.enabled=false
jodconverter.enabled=false

4. 依赖隔离打包

使用Maven的maven-shade-plugin对libreriaENI及其依赖重新打包,重命名冲突包名,避免类加载污染:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.2.4</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <relocations>
                    <!-- 重命名冲突包,示例为Spring相关,根据实际调整 -->
                    <relocation>
                        <pattern>org.springframework</pattern>
                        <shadedPattern>com.custom.spring</shadedPattern>
                    </relocation>
                </relocations>
            </configuration>
        </execution>
    </executions>
</plugin>

内容的提问来源于stack exchange,提问作者Yamila Diaz Suarez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 02:29:53