解决Unable to read TLD "META-INF/c.tld" from JAR file

由于项目需要,要了解CAS单点登录,还好之前离职的哥们已经搭建好服务端的项目,只需要导入就好。


导入项目后,一直出现含有

      Unable to read TLD "META-INF/c.tld" from JAR file   

这种信息的异常,网上大多解决方法都是删除WEB-INF/lib下面的servlet-api.jar jsp-api.jar,但是,我这里删除之后错误依旧。


最后删除了jsp-api.jar及el-api.jar 这两个jar包后,程序运行正常。


如还运行不正常可尝试使用以下方法:

最终发现问题所在,我用的Myeclipse8.5,项目是Maven项目,我引入项目时是将它做为Web项目引入的,所以除了删除servler-api.jar jsp-api.jar包之外,

还需要增加Server Runtime


附图:

  创建Servers


next

finish。

右键项目-->Build Path-->Configure Build Path

add Library

选择


选择刚刚创建的Server   Finish



启动项目,在页面访问之后,控制台出现如下错误:

原因分析:

Tomcat中catalina.jar和jasper.jar都有AnnotationProcessor接口,所以运行时,就出错了:java.lang.ClassCastException:org.apache.catalina.util.DefaultAnnotationProcessor。



需要修改一下Tomcat的Context.xml文件下增加:<Loader delegate="true" />




保存!

重新启动项目,访问!




### 解决方案 当执行 `git clone` 命令克隆带有子模块的仓库时,如果出现 `SSL certificate problem: unable to get local issuer certificate` 错误,可能是由于以下几个原因之一导致:本地未信任目标主机的 SSL 证书、网络代理干扰或 Git 默认启用了严格的 SSL 验证策略。以下是针对这一问题的具体解决办法。 #### 方法一:临时禁用 SSL 验证 可以在特定命令中加入选项以绕过 SSL 验证过程: ```bash GIT_SSL_NO_VERIFY=true git clone --recurse-submodules https://example.com/repo.git ``` 这种方式仅对单次运行有效,不会影响其他操作的安全性[^1]。 #### 方法二:永久修改全局配置 为了长期避免此类问题发生,可调整用户的全局 Git 设置来关闭 SSL 校验功能: ```bash git config --global http.sslVerify false ``` 尽管这种方法简单易行,但从长远来看并不推荐用于正式环境之中,因为它降低了通信链路的整体安全性水平[^2]。 #### 方法三:替换为可信源URL映射规则 通过编辑用户级 `.gitconfig` 文件添加替代地址转换条目,从而规避潜在不可靠域名带来的风险: ```ini [url "https://mirror.example.org/"] insteadOf = https://original-hosting-service.com/ ``` 上述例子假设存在一个经过认证镜像站点可供选用;实际应用需依据具体情况定制相应记录项[^3]。 #### 方法四:更新系统CA证书库 确保操作系统自带或者由软件分发渠道提供的根证书集合处于最新状态同样重要。例如,在Ubuntu Linux发行版下可以执行以下指令完成升级工作: ```bash sudo apt-get update && sudo apt-get install --reinstall ca-certificates ``` 而对于Windows平台而言,则可能涉及到手动下载官方发布的PEM格式文件并指定给Git程序加载使用的情形[^4]: ```bash git config --global http.sslCAInfo "/path/to/new/cacert.pem" ``` #### 方法五:切换到SSH协议传输数据 最后一种可行途径便是彻底舍弃基于HTTP(S)的传统交互模式转而采用更为稳定高效的SSH隧道方式进行资料交换活动: ```bash git remote set-url origin git@github.com:username/repository.git ``` 不过需要注意的是在此之前必须先准备好一对匹配好的公私钥组合并且将其注册关联至远程服务商账号之下才能顺利开展后续作业流程[^5]。 --- ### 示例代码展示如何正确处理带子模块项目的克隆请求 下面给出了一段综合运用前述各项技术要点的实际案例供参考学习之用: ```bash # 初始化一个新的裸仓库存储空间准备接收外来贡献物 mkdir project-folder && cd $_ git init . # 设定好指向真实资源定位符的同时附带上必要的身份验证凭据信息以防万一遭遇权限管控障碍 git remote add origin https://custom-domain.tld/path/to/source-code.git # 开始实施递归拉取整个目录树结构连同附属组件一起打包回来的动作 GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_custom_key" \ GIT_SSL_CAINFO="/absolute/path/to/trusted-ca-bundle.crt" \ git clone --recursive $ORIGIN_URL . ``` 以上脚本片段充分体现了灵活应对复杂场景需求的能力表现[^6]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值