启动Artifactory 7.71.4时遇Token客户端类型转换错误求助
Artifactory 7.71.4 Token客户端类型转换错误排查
错误信息
2023-11-16T10:38:58.095Z [jfrt ] [ERROR] [ ] [o.a.w.s.ArtifactoryFilter:128 ] [http-nio-8081-exec-3] - Caught exception: class org.jfrog.access.client.token.RestTokenClientImpl cannot be cast to class org.jfrog.access.client.token.GrpcTokenClientImpl (org.jfrog.access.client.token.RestTokenClientImpl and org.jfrog.access.client.token.GrpcTokenClientImpl are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @173762d2)
问题分析
该错误是系统预期使用GrpcTokenClientImpl处理令牌操作,但实际初始化了RestTokenClientImpl,导致类型转换失败。即便能完成登录,后续令牌相关的核心操作会触发该异常。
排查与解决步骤
- 检查类加载冲突:ParallelWebappClassLoader的未命名模块同时加载了两种Token客户端实现,大概率是依赖包重复或版本不匹配。查看Artifactory安装目录下的
webapps/artifactory/WEB-INF/lib目录,确认是否同时存在access-client-rest和access-client-grpc相关JAR包,且版本与Artifactory 7.71.4的官方依赖要求一致。 - 验证默认配置:即便未手动修改配置,仍需确认
$ARTIFACTORY_HOME/etc/system.yaml中access服务相关参数,比如access.client.token.provider.type是否默认设置为grpc,配置异常会直接导致客户端初始化错误。 - 清理缓存后重启:删除Artifactory的临时缓存目录(
$ARTIFACTORY_HOME/tomcat/work、$ARTIFACTORY_HOME/tomcat/temp),彻底重启Artifactory服务,避免类加载器缓存旧的类实例。 - 校验Bitnami包完整性:由于是Bitnami部署的实例,可能存在安装包损坏或依赖缺失问题。重新校验安装包的MD5/SHA哈希值,或重新部署Bitnami Artifactory实例,确保所有组件完整。
内容的提问来源于stack exchange,提问作者Michiel d'Hont
相关产品推荐
相关产品推荐

