【问题标题】:java.lang.NoSuchMethodError: org.apache.tiles.TilesException: method <init>(Ljava/lang/String;Ljava/lang/Throwable;)V not foundjava.lang.NoSuchMethodError: org.apache.tiles.TilesException: 方法 <init>(Ljava/lang/String;Ljava/lang/Throwable;)V 未找到
【发布时间】:2014-06-30 17:04:16
【问题描述】:

启动我的 struts 应用程序时出现上述错误。 以下是出口顺序。

    /WEB-INF/src
    /WEB-INF/lib/freemarker-2.3.16.jar
    /WEB-INF/lib/javassist-3.7.ga.jar
    /WEB-INF/lib/ognl-3.0.jar
    JRE System library[jrocket... ]
    /WEB-INF/lib/commons-beanutils-1.8.0.jar
    /WEB-INF/lib/commons-digester-1.8.1.jar
    /WEB-INF/lib/commons-fileupload-1.2.1.jar
    /WEB-INF/lib/commons-io-1.3.2.jar
    /WEB-INF/lib/commons-logging-1.0.4.jar
    /WEB-INF/lib/commons-logging-api-1.1.jar
    /WEB-INF/lib/log4j-1.2.14.jar
    /WEB-INF/lib/struts2-config-browser-plugin-2.2.1.jar
    /WEB-INF/lib/struts2-core-2.2.1.jar
    /WEB-INF/lib/struts2-tiles-plugin-2.2.1.jar
    /WEB-INF/lib/tiles-api-2.1.2.jar
    /WEB-INF/lib/tiles-compat-2.1.2.jar
    /WEB-INF/lib/tiles-jsp-2.1.2.jar
    /WEB-INF/lib/tiles-servlet-2.1.2.jar
    /WEB-INF/lib/xwork-core-2.2.1.jar
    weblogic/api.jar
    json-2010.01.05.jar
    /WEB-INF/lib/tiles-core-2.1.2.jar

请帮忙。我会很开心的

2014-06-30 13:51:39,448 INFO org.apache.tiles.context.AbstractTilesApplicationContextFactory.createFactory:72 - 初始化 Tiles2 应用程序上下文。 . . 2014-06-30 13:51:39,458 INFO org.apache.tiles.context.AbstractTilesApplicationContextFactory.createFactory:91 - 完成初始化 Tiles2 应用程序上下文。 2014-06-30 13:51:39,480 信息 org.apache.tiles.factory.TilesContainerFactory.initializeContainer:362 - 初始化 Tiles2 容器。 . . (Ljava/lang/String;Ljava/lang/Throwable;)V 未找到。 java.lang.NoSuchMethodError: org.apache.tiles.TilesException: 方法 (Ljava/lang/String;Ljava/lang/Throwable;)V 未找到 在 org.apache.tiles.factory.NotAvailableFeatureException.(NotAvailableFeatureException.java:71) 在 org.apache.tiles.portlet.context.NotAPortletEnvironmentException.(NotAPortletEnvironmentException.java:71) 在 org.apache.tiles.portlet.context.PortletTilesRequestContextFactory.(PortletTilesRequestContextFactory.java:68) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 截断。查看完整堆栈跟踪的日志文件

2014-06-30 13:51:39,524 INFO  org.apache.tiles.servlet.context.ServletUtil.setContainer:151 - Removing TilesContext for context: weblogic.servlet.internal.WebAppServletContext
<Jun 30, 2014 1:51:39 PM EDT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1404150699134' for task '0'. Error is: 'weblogic.application.ModuleException: '
weblogic.application.ModuleException: 
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
    Truncated. see log file for complete stacktrace
Caused By: java.lang.NoSuchMethodError: org.apache.tiles.TilesException: method <init>(Ljava/lang/String;Ljava/lang/Throwable;)V not found
    at org.apache.tiles.factory.NotAvailableFeatureException.<init>(NotAvailableFeatureException.java:71)
    at org.apache.tiles.portlet.context.NotAPortletEnvironmentException.<init>(NotAPortletEnvironmentException.java:71)
    at org.apache.tiles.portlet.context.PortletTilesRequestContextFactory.<init>(PortletTilesRequestContextFactory.java:68)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    Truncated. see log file for complete stacktrace

<Jun 30, 2014 1:51:39 PM EDT> <Error> <Deployer> <BEA-149202> <Encountered an exception while attempting to commit the 7 task for the application 'inhouse_brands'.> 
<Jun 30, 2014 1:51:39 PM EDT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating start task for application 'inhouse_brands'.> 
<Jun 30, 2014 1:51:39 PM EDT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: 
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
    Truncated. see log file for complete stacktrace
Caused By: java.lang.NoSuchMethodError: org.apache.tiles.TilesException: method <init>(Ljava/lang/String;Ljava/lang/Throwable;)V not found
    at org.apache.tiles.factory.NotAvailableFeatureException.<init>(NotAvailableFeatureException.java:71)
    at org.apache.tiles.portlet.context.NotAPortletEnvironmentException.<init>(NotAPortletEnvironmentException.java:71)
    at org.apache.tiles.portlet.context.PortletTilesRequestContextFactory.<init>(PortletTilesRequestContextFactory.java:68)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    Truncated. see log file for complete stacktrace

【问题讨论】:

    标签: struts2 struts tiles


    【解决方案1】:

    将此 jars 添加到您的 WEB-INF/lib 文件夹中

    commons-lang3-3.1.jar
    commons-lang-2.4.jar
    slf4j-api-x.x.x.jar
    slf4j-log4j12-x.x.x.jar
    log4j-x.x.x.jar

    最重要的是这个jar不在你的项目中,所以首先下载它并将它添加到你的构建路径中。

    tiles-core.2.x.x.jar
    瓷砖模板-2.x.x.jar
    瓷砖-portlet-2.x.x.jar

    您可以根据项目需要自行选择版本。 commons-lang-x.x,jar。如有错误也回复。

    如果您是堆栈溢出的新用户,那么我建议您学习如何接受答案Please see click HERE

    编辑:
    另外我想告诉你struts2-tiles-plugin-2.2.1.jar 依赖于tiles 2.0.6 而不是tiles 2.2.1。好吧,没关系。但这只是为了您的信息。您应该使用与您的支柱兼容的正确版本的瓷砖。使用兼容版本至少尝试一次。

    您的错误是无法使用资源,因为它不在 portlet 环境中。

    我会建议你Learn portlet integration of tiles

    您缺少tiles-portlet-2.x.x.jarportlet-ext.xml 文件

    编辑 2:

    在您的 JRE 中检查 rt.jar

    如果您的类路径中没有它,您将无法访问您需要使用的任何类,例如 java.lang.Stringjava.io.File

    【讨论】:

    • 我将这 2 个添加到我的构建路径中,但仍然出现同样的错误??
    • 添加完整的堆栈跟踪。需要完整的错误日志。从您的控制台复制粘贴完整的堆栈跟踪到您的问题。单击编辑问题链接并在那里复制粘贴完整的堆栈跟踪。所以我能理解。
    • 我已经为你更新了答案。我正在等待你的堆栈跟踪。
    • 我无法粘贴它,它给了我这个烦人的错误,我需要在每一行添加 4 个空格!!!并且 Ctrl K 不起作用。
    • 您是添加了tiles-core-2.x.x.jar 还是使用了tile 2.0.6?如果没有错误信息,我们将无法为您提供帮助
    猜你喜欢
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    • 2019-09-20
    • 2014-12-26
    相关资源
    最近更新 更多