java - 清理旧 jar 时出现多个错误

标签 java struts taglib websphere-8 ibm-rad

我正在使用 RAD/WAS 8.5 运行时开发 J2EE 应用程序。我正在清理这个非常旧的项目中的旧 jar 并引用新 jar 。一切工作正常,但在清理工作区并重新启动服务器后,我开始收到这些错误。

com.ibm.ws.jsp.taglib.TldParser logParseErrorMessage 无法解析标签库 [/WEB-INF/commontags.tld]:/WEB-INF/commontags.tld

com.ibm.ws.jsp.taglib.TldParser logParseErrorMessage 无法解析标签库 [/WEB-INF/displaytag.tld]:/WEB-INF/displaytag.tld

javax.servlet.UnavailableException:路径/WEB-INF/struts-config.xml 缺少配置资源

我只是无法确定是否存在缺少 jar 的问题,或者我的工作区中存在冲突的 jar。我没有更改任何 *.xml 文件或任何代码。

任何关于调试此问题的最佳方法的想法都会很棒。谢谢!

更新:

enter image description here

在 web.xml 中:

<servlet>
    <description></description>
    <display-name></display-name>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>
.
.
.    
<jsp-config>
    <taglib>
        <taglib-uri>commontags</taglib-uri>
        <taglib-location>/WEB-INF/commontags.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>http://displaytag.sourceforge.net/</taglib-uri>
        <taglib-location>/WEB-INF/displaytag.tld</taglib-location>
    </taglib>
</jsp-config>

我不确定这些 jar 的新版本。这些内容是否包含在 struts-taglibs 或任何其他 struts jar 中?!

enter image description here

WebSphere 错误日志:

com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: Loading Web Module: ‎MyWebProject.‎
WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: Will create a new session ‎context for application key default_host/testhost
jsp           E com.ibm.ws.jsp.taglib.TldParser logParseErrorMessage Failed to parse Tag Library [/WEB-‎INF/commontags.tld]: /WEB-INF/commontags.tld
jsp           E com.ibm.ws.jsp.taglib.TldParser logParseErrorMessage Failed to parse Tag Library [/WEB-‎INF/displaytag.tld]: /WEB-INF/displaytag.tld
FfdcProvider  W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on ‎C:\IBM\WebSphere85\AppServer\profiles\testwas85\logs\ffdc\server1_d215675c_13.12.03_16.15.45.25‎‎03351670868379650030.txt com.ibm.ws.webcontainer.servlet.ServletWrapperImpl 272‎
ActionServlet I org.apache.struts.action.ActionServlet initChain Loading chain catalog from ‎wsjar:file:/C:/IBM/WebSphere85/AppServer/profiles/testwas85/installedApps/HJKGFL4Node05Cell/MyEARProject.ear/MyWebProject.war/WEB-INF/lib/struts-core-1.3.10.jar!/org/apache/struts/chain/chain-‎config.xml
PropertyMessa W org.apache.struts.util.PropertyMessageResources loadLocale   Resource ‎org/apache/struts/action/ActionResources_en_US.properties Not Found.‎
PropertyMessa W org.apache.struts.util.PropertyMessageResources loadLocale   Resource ‎org/apache/struts/action/ActionResources_en.properties Not Found.‎
ActionServlet E org.apache.struts.action.ActionServlet splitAndResolvePaths Missing configuration ‎resource for path /WEB-INF/struts-config.xml
webapp        E com.ibm.ws.webcontainer.webapp.WebApp commonInitializationFinally SRVE0266E: ‎Error occured while initializing servlets: {0}
                                 javax.servlet.UnavailableException: Missing configuration resource for path /WEB-‎INF/struts-config.xml
at org.apache.struts.action.ActionServlet.splitAndResolvePaths(ActionServlet.java:1872)‎
at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:683)‎
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:356)‎
at javax.servlet.GenericServlet.init(GenericServlet.java:161)‎
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:337)‎
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)‎
at ‎com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck(ServletWrapper.java:1360)‎
at com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions(WebApp.java:606)‎
at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally(WebApp.java:576)‎
at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:425)‎
at ‎com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)‎
at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)‎
at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)‎
at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)‎
at ‎com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)‎
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)‎
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1173)‎
at ‎com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)‎
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)‎
at ‎com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)‎
at ‎com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:772)‎
at ‎com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1367)‎
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2172)‎
at ‎com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445)‎
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)‎
at ‎com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388)‎
at ‎com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:11‎‎6)‎
at ‎com.ibm.ws.runtime.component.CompositionUnitMgrImpl$1.run(CompositionUnitMgrImpl.java:663)‎
at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5459)‎
at ‎com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5585)‎
at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)‎
at ‎com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:677)‎
at ‎com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:621)‎
at ‎com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1259)‎
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)‎
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)‎
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)‎
at java.lang.reflect.Method.invoke(Method.java:613)‎
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:68)‎
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)‎
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)‎
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)‎
at java.lang.reflect.Method.invoke(Method.java:613)‎
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:287)‎
at ‎javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1256)‎
at java.security.AccessController.doPrivileged(AccessController.java:252)‎
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)‎
at ‎javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:125‎‎0)‎
at ‎javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:1088)‎
at ‎com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:8‎‎31)‎
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:804)‎
at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1335)‎
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)‎
at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1228)‎
at ‎com.ibm.ws.management.application.sync.StartDeploymentTask.startDeployment(StartDeploymentTask.‎java:247)‎
at ‎com.ibm.ws.management.application.sync.StartDeploymentTask.fullAppUpdate(StartDeploymentTask.java:119)‎
at ‎com.ibm.ws.management.application.sync.StartDeploymentTask.performTask(StartDeploymentTask.java:107)‎
at ‎com.ibm.ws.management.application.sync.AppBinaryProcessor$ExpandApp.expand(AppBinaryProcessor.java:1709)‎
at ‎com.ibm.ws.management.application.sync.AppBinaryProcessor.postProcessSynchronousExt(AppBinaryProcessor.java:749)‎
at ‎com.ibm.ws.management.bla.sync.BLABinaryProcessor.postProcess(BLABinaryProcessor.java:590)‎
at ‎com.ibm.ws.management.bla.sync.BLABinaryProcessor.onChangeCompletion(BLABinaryProcessor.java‎:467)‎
at ‎com.ibm.ws.management.bla.sync.BinaryProcessorWrapper.onChangeCompletion(BinaryProcessorWrapper.java:109)‎
at com.ibm.ws.management.repository.FileRepository.postNotify(FileRepository.java:1924)‎
at com.ibm.ws.management.repository.FileRepository.update(FileRepository.java:1433)‎
at ‎com.ibm.ws.management.repository.client.LocalConfigRepositoryClient.update(LocalConfigRepositoryClient.java:189)‎
at ‎com.ibm.ws.sm.workspace.impl.WorkSpaceMasterRepositoryAdapter.update(WorkSpaceMasterRepositoryAdapter.java:665)‎
at ‎com.ibm.ws.sm.workspace.impl.RepositoryContextImpl.update(RepositoryContextImpl.java:1998)‎
at ‎com.ibm.ws.sm.workspace.impl.RepositoryContextImpl.synch(RepositoryContextImpl.java:1946)‎
at com.ibm.ws.sm.workspace.impl.WorkSpaceImpl.synch(WorkSpaceImpl.java:549)‎
at com.ibm.ws.management.configservice.ConfigServiceImpl.save(ConfigServiceImpl.java:719)‎
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)‎
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)‎
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)‎
at java.lang.reflect.Method.invoke(Method.java:613)‎
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:68)‎
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)‎
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)‎
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)‎
at java.lang.reflect.Method.invoke(Method.java:613)‎
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:287)‎
at ‎javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1256)‎
at java.security.AccessController.doPrivileged(AccessController.java:252)‎
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)‎
at ‎javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:125‎‎0)‎
at ‎javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:1088)‎
at ‎com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:8‎‎31)‎
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:804)‎
at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1335)‎
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)‎
at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1228)‎
at ‎com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181)‎
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)‎
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)‎
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)‎
at java.lang.reflect.Method.invoke(Method.java:613)‎
at com.ibm.ws.management.connector.soap.SOAPConnector.invoke(SOAPConnector.java:478)‎
at com.ibm.ws.management.connector.soap.SOAPConnector.service(SOAPConnector.java:312)‎
at ‎com.ibm.ws.management.connector.soap.SOAPConnection.handleRequest(SOAPConnection.java:65)‎
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:733)‎
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:532)‎
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1815)‎

最佳答案

各位,我是这样做的。

打开导致问题的文件,在本例中为 commontags.tlddisplaytag.tldstruts-config.xml 并创建一个虚假编辑,即添加/删除一行。瞧!所有错误都神秘地消失了!

闪回:.war出现时,我不得不假装编辑我的application.xml 文件未显示在管理控制台的 WebSphere Enterprise Applications 选项卡中。

我认为由于某些原因,本地服务器中的.ear文件未更新即使在重新部署后也是如此。

欢迎更好的解释!谢谢!

PS:我在部署网络应用程序时仍然收到 HTTP 404 Not Found 错误,但此问题已在此处完成。

关于java - 清理旧 jar 时出现多个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20363462/

相关文章:

grails - 如何在用于运行脚本的脚本中访问taglib?

java - Hibernate Session 未使用 AOP 切点事务管理器绑定(bind)到线程

java - servlet 实例如何工作?

java - Struts 1,重定向工作正常,但转发给出 404

java - 轮询服务器状态的方法

java - IntellijJ可以通过apache taglib和EL在JSP中找到用法吗

java - 从命令行将 JAR 依赖项与可执行 JAR (Über JAR) 捆绑在一起

java - 如何在Java中以YYYY-MM-DD HH :MI:Sec.毫秒格式获取当前时间?

java - pom中依赖的两个不同版本

unit-testing - 测试使用请求对象的自定义Grails TagLib方法