strust2.2.3版本启动报错struts-plugin.xml:8:162

在使用Struts2框架过程中遇到配置文件加载失败的问题,通过详细分析错误信息和社区建议,最终确定需要额外引入多个核心jar包。经过实践验证,正确配置并导入这些jar包后,成功解决了配置错误并顺利部署应用。

我用的是struts-2.2.3,开始把全部的jar包都放进去了,可是一直报

信息: Parsing configuration file [struts-plugin.xml]
2011-6-11 8:39:56 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
严重: Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/C:/Users/Jacky/Workspaces/MyEclipse%208.6/.metadata/.me_tcat/webapps/struts/WEB-INF/lib/struts2-gxp-plugin-2.2.3.jar!/struts-plugin.xml:8:162
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:380)

 

头痛中,后来看到有人说:这是apache的失误。按照官方文档说明,运行Struts2必须加载5个核心jar包,也就是咱们一开始拷贝的5个jar包,如果你用的是 Struts2之前的版本是没有问题的,但是如果去下载这个新版本,就会报如上错误,因为还需要加载另外两个jar包,可是官方的说明文档没有更新

于是照此方法加入了以下几个包
struts2-core-2.1.6.jar、
xwork-2.1.2.jar、
freemarker-2.3.13.jar、
ognl-2.6.11.jar、
commons-logging-1.0.4.jar、
commons-fileupload-1.2.1.jar、
commons-io-1.3.2.jar

但试过后还是报错,具体错误不记得了。

不气馁,再找,发现又有人给了方法,这次成了:)

将struts-2.1.6-all.zip中apps 文件夹中struts2-blank-2.1.6.war文件解压。进入struts2-blank-2.1.6"WEB-INF"lib,只将该文件夹下的9个jar包导入到项目工程中即可。

解压缩的方法用winRAR工具就可以。

它说是9个jar包,我看到得是11个jar包,全弄进去OK了

包如下:
asm-3.1.jar

asm-commons-3.1.jar

asm-tree-3.1.jar

commons-fileupload-1.2.2.jar

commons-io-2.0.1.jar

commons-lang-2.5.jar

freemarker-2.3.16.jar

javassist-3.11.0.GA.jar

ognl-3.0.1.jar

struts2-core-2.2.3.jar

xwork-core-2.2.3.jar

<think>好的,我现在需要帮助用户解决SSL握手失败的问题,错误代码是SSSLERR_PEER_CERT_UNTRUSTED (-102),涉及的域名是eos-scp-core-shenzhen-xili1-oss.sit.sf-express.com。首先,我需要理解这个错误的含义。根据引用[4],这个错误是因为本地系统(比如用户的SAP系统)无法信任远程服务器提供的SSL证书链。也就是说,服务器证书未被本地信任的根证书颁发机构认可,或者中间证书缺失。 接下来,我应该考虑常见的解决步骤。引用[5]提到,在ABAP中发送HTTPS请求时遇到类似问题,需要检查证书链的完整性,并可能将证书导入SAP系统的信任存储。所以,我需要指导用户验证服务器证书链是否完整,并确保中间证书和根证书都被正确安装。 用户可能需要使用OpenSSL命令来获取服务器的证书链。例如,运行openssl s_client -connect命令检查返回的证书。如果发现中间证书缺失,用户需要下载并安装这些证书到SAP系统的信任存储中。引用[3]也提到了定位问题证书的重要性,所以这一步很关键。 另外,检查证书的有效期和域名是否匹配也很重要。证书过期或者域名不匹配会导致验证失败。用户应该确认证书的生效日期,并检查Subject Alternative Names是否包含使用的域名。 然后,用户需要将正确的根证书和中间证书导入SAP系统的PSE(个人安全环境)。这可以通过事务代码STRUST来完成。可能需要将证书添加到相应的SSL客户端或服务器PSE中,具体取决于通信的方向。 还有系统时间是否正确的问题。如果系统时间不在证书的有效期内,验证会失败。需要检查SAP服务器的时间设置是否正确。 如果以上步骤都无效,可能需要暂时禁用证书验证进行测试,但这只是临时解决方案,不能用于生产环境。 最后,用户可能需要联系证书颁发机构或服务器管理员,确认证书配置是否正确。如果问题依旧存在,可能需要更详细的日志分析,使用SMICM进行跟踪,如引用[5]所述。 总结下来,解决步骤应该是:验证证书链完整性,检查有效期和域名,导入缺失证书到STRUST,检查系统时间,必要时联系管理员。同时,生成相关问题帮助用户进一步排查。</think>### SSL握手失败SSSLERR_PEER_CERT_UNTRUSTED (-102)解决方案 #### 1. 验证证书链完整性 使用OpenSSL命令检查远程服务器证书链是否完整: ```bash openssl s_client -connect eos-scp-core-shenzhen-xili1-oss.sit.sf-express.com:443 -showcerts ``` 观察输出中是否包含完整的证书链(根证书+中间证书+服务器证书)。若发现`Verify return code: 20 (unable to get local issuer certificate)`,则说明中间证书缺失[^4][^5]。 #### 2. 检查证书有效期与域名匹配 通过浏览器访问目标域名,点击地址栏锁图标验证: - 证书是否在有效期内 - 证书SAN字段是否包含`*.sit.sf-express.com`或精确域名 - 证书是否由可信CA颁发(如DigiCert、Let&#39;s Encrypt等) #### 3. 导入缺失证书到SAP系统 通过事务码`STRUST`操作: 1. 打开SSL客户端标准PSE(SSLClient Standard) 2. 点击"证书" → "导入证书链" 3. 将完整的证书链(PEM格式)按顺序导入 4. 保存并激活更改[^5] #### 4. 强制刷新SSL缓存 执行命令`icm/HTTP_SSL_client_refresh`或重启ICM进程: ```abap SMICM → Administration → HTTP → Reload SSL Data ``` #### 5. 检查系统时间同步 确保SAP服务器时间与证书有效期匹配: - 使用事务码`STUI`检查系统时间 - 证书有效期可通过`openssl x509 -dates -noout`查看 #### 6. 临时绕过验证(仅测试环境) 在ABAP代码中添加SSL参数: ```abap cl_http_client=>create_by_url( EXPORTING ssl_id = &#39;ANONYM&#39; IMPORTING client = lo_client ). ``` ⚠️ 注意:这会禁用证书验证,仅用于临时测试[^5] #### 7. 联系证书管理员 若问题持续存在,需提供以下信息给证书管理员: - OpenSSL命令输出结果 - SAP系统STRUST配置截图 - 错误发生的具体时间戳 $$ \text{证书验证流程:} \quad \text{客户端} \xrightarrow{\text{验证信任链}} \text{服务器证书} \xleftarrow[\text{中间证书}]{\text{根证书}} $$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值