com.opensymphony.xwork2.inject.DependencyException: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException

2023-12-24

在部署我的战争文件时,我收到以下异常:

SEVERE: Exception starting filter struts2
com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No mapping found for dependency [type=com.opensymphony.xwork2.ObjectFactory, name='default'] in public void com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.setObjectFactory(com.opensymphony.xwork2.ObjectFactory). - Class: com.opensymphony.xwork2.inject.ContainerImpl
File: ContainerImpl.java
Method: addInjectorsForMembers
Line: 144 - com/opensymphony/xwork2/inject/ContainerImpl.java:144:-1
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:501)
        at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
        at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
        at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: com.opensymphony.xwork2.inject.DependencyException: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No mapping found for dependency [type=com.opensymphony.xwork2.ObjectFactory, name='default'] in public void com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.setObjectFactory(com.opensymphony.xwork2.ObjectFactory).
        at com.opensymphony.xwork2.inject.ContainerImpl.addInjectorsForMembers(ContainerImpl.java:144)
        at com.opensymphony.xwork2.inject.ContainerImpl.addInjectorsForMethods(ContainerImpl.java:113)
        at com.opensymphony.xwork2.inject.ContainerImpl.addInjectors(ContainerImpl.java:90)
        at com.opensymphony.xwork2.inject.ContainerImpl.addInjectors(ContainerImpl.java:86)
        at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:71)
        at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:67)
        at com.opensymphony.xwork2.inject.util.ReferenceCache$CallableCreate.call(ReferenceCache.java:150)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at com.opensymphony.xwork2.inject.util.ReferenceCache.internalCreate(ReferenceCache.java:76)
        at com.opensymphony.xwork2.inject.util.ReferenceCache.get(ReferenceCache.java:116)
        at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:490)
        at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:530)
        at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:528)
        at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:584)
        at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:528)
        at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:257)
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
        at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:445)
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:489)

我已经包括了struts-default.xml in init-param in web.xml正如一些帖子所建议的。

仍然不起作用!

我错过了什么吗?

web.xml 类似如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://java.sun.com/xml/ns/javaee" 
   xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
   http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
   id="WebApp_ID" version="3.0">

   <display-name>Struts 2</display-name>
   <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>
   <filter>
      <filter-name>struts2</filter-name>
      <filter-class>
         org.apache.struts2.dispatcher.FilterDispatcher
      </filter-class>
   </filter>

   <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
   </filter-mapping>
</web-app>

struts.xml 类似如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
   <package name="helloworld" extends="struts-default">

      <action name="hello" 
            class="com.tutorialspoint.struts2.HelloWorldAction" 
            method="execute">
            <result name="success">/HelloWorld.jsp</result>
      </action>
   </package>
</struts>

  1. 放下过滤调度器已弃用,并设置新过滤器 https://stackoverflow.com/a/17103563/1654265.
  2. 更正您的 DTD:在web.xml你正在混合2.5 with 3.0. All 2.5 or all 3.0(或全部2.4,根据您的应用程序服务器规格)。在struts.xml, 它应该是2.3除非您使用的是非常旧的版本(并且您应该not).
  3. 确保您已包含all所需的依赖项 http://struts.apache.org/maven/dependency-management.html, 每一个只有一次,以及所有与right版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

com.opensymphony.xwork2.inject.DependencyException: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException 的相关文章

随机推荐

  • 将文本输入放在单选按钮的标签内?

    我正在尝试创建一个指定一堆选项的单选组 以及一个带有要指定的文本输入的额外选项 其他 我正在使用的这个特定单选按钮的代码是
  • 静态成员中的通用参数声明

    为什么不允许定义这样的静态成员 private static final
  • 再次针对特定异常启用中断

    我是 Visual Studio 的新手 我现在正在编程 当我在 Visual Studio 的调试器中启动程序时 一切正常 当我按下一个按钮时 它集中了我的代码并弹出一个框 带有指向有错误的行的箭头 说明错误是什么 但我取消选中了上面的检
  • go 中定期运行一个函数

    我有一个这样的函数 func run cmd string byte out err exec Command cmd Output if error nil log Fatal err return out 我想以这种方式运行这个命令 r
  • 将 2 个嵌套数组合并为一个具有多个值的数组

    我有 2 个这样的嵌套数组 array 1 0 gt array 1 id gt 6 1 gt array 1 id gt 4 array 1 0 gt array 1 id gt 509 1 gt array 1 id gt 256 我正
  • 如何修复预期响应包含数组但获得对象 ANGular js

    我是新人 在调用服务后使用资源模块很难得到这个错误 任何人都可以修改我在代码中出错的地方 或者只是修改其中需要纠正的部分 谢谢 即将到来的数据格式 brands Array 1 0 Object v 0 id 5251a4a34f232fc
  • 配置文件与 gcc/g++ 和 ld 的链接时间

    我正在使用 g 编译和链接一个由大约 15 个 c 源文件和 4 个共享对象文件组成的项目 最近 链接时间增加了一倍多 但我没有可用的 makefile 的历史记录 有没有办法分析 g 以查看链接的哪一部分花费了很长时间 Edit 当我注意
  • 如何确定 PHP 字符串是否仅包含纬度和经度

    我必须使用可能包含纬度 经度数据的字符串 如下所示 query 33 805789 151 002060 query 33 805789 151 002060 query OVER HERE 33 805789 151 002060 就我的
  • 保存片段状态操作栏选项卡

    我正在构建一个由带有选项卡的操作栏组成的应用程序 每个选项卡都包含一个片段 其中一个片段有需要加载的数据 所以我希望数据只在第一次加载 当用户更改选项卡并返回到包含该片段的选项卡时 不会等待再次加载数据 我假设我必须使用某种方式保存数据 以
  • Java中用外国字符替换英文字符的方法?

    在 PHP 中我会使用这个 text Je prends une th chaud s il vous pla t search array etc replace array e i e etc text str replace sear
  • 对于英语单词来说,什么是好的哈希函数?

    我有一长串英语单词 我想对它们进行哈希处理 什么是好的哈希函数 到目前为止 我的散列函数对字母的 ASCII 值求和 然后对表大小取模 我正在寻找有效且简单的东西 简单地对字母求和并不是一个好的策略 因为排列会给出相同的结果 这个 djb2
  • 如何在 MVC 中创建启动屏幕

    我想在单击保存按钮时创建一个启动屏幕 显示消息 您的数据正在保存 请稍候 我使用 MVC 5 进行开发 下面我创建了一个div div style margin 0px padding 0px width 100 height 100 ba
  • 我应该为我的个人项目使用软件托管解决方案吗?

    现在 我将所有项目都保存在笔记本电脑上 我认为我不应该这样做 而是使用版本控制系统并从外部托管存储库 Google Code SourceForge 等 将它们签入 签出 我在这里看到了几个好处 首先 如果我的计算机崩溃和烧毁或者我的外部硬
  • JavaScript 注释

    有 JavaScript 注释吗 当然 JavaScript 没有它们 但是是否有其他库或建议的语言扩展 例如 type folder otherjsmodule foo function foo folder otherjsmodule
  • 使用knockout js上传文件

    使用knockout js 无法上传文件 我尝试过下面的代码但不起作用 请指出我哪里做错了 这是我的文件控件和按钮 我无法将所选文件从客户端发送到服务器 请建议最好的方法是什么
  • 无法渲染动画

    我正在尝试学习如何使用 R 和 gganimate 获得漂亮的动画图形 但遇到了一些问题 当我尝试为图形设置动画时 R 似乎编辑了一些 PNG 文件 但随后无法渲染它们 这是我使用的代码示例 首先加载 tidyverse gganimate
  • 使用 jquery 切换显示\隐藏但具有多个 id

    我有一个 php 页面 它生成多个 UL 和每个 UL 上方的链接 如下所示 a title Category one Category one a ul li Subcategory li li li li Subcategory li
  • 获取异步任务的结果

    我想从异步任务中获取结果 如果我使用task execute get 我的UI将被冻结 我希望我的异步任务是独立的类 所以我不想将结果处理代码放在 onPostExecute 中 我在这里找到了一些有关异步任务回调数据的信息 http bl
  • 如何改进 Excel 数据连接的刷新?

    和许多人一样 我有一个电子表格 可以从 40 多个文本文件中提取数据作为数据源 文本文件来自另一个应用程序 需要定期更新到 Excel 中 数据源文件和电子表格集需要能够复制并在不同的系统上运行 这就是 Excel 惊人地无法支持从电子表格
  • com.opensymphony.xwork2.inject.DependencyException: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException

    在部署我的战争文件时 我收到以下异常 SEVERE Exception starting filter struts2 com opensymphony xwork2 inject ContainerImpl MissingDependen