启动错误:java.lang.InknownClassChangeError:org/apache/struts2/convention/DefaultClassFinder$InfoBuildingVisitor

2023-12-14

我有一个 Struts2 应用程序,最初是基于 XML 的,但现在我第一次引入了基于注释的操作,并且该应用程序在启动时崩溃了。

鉴于以下操作映射,在应用程序启动时,我收到错误

java.lang.InstantiationError: com.opensymphony.xwork2.util.finder.ClassFinder
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:390)
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:347)
    at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:199)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
    at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:906)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:445)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:486)
    at org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:75)
    at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:63)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)

这里也有类似的问题,但是没有人回答,Struts2 过滤器异常问题

使用的库:

  • struts2-convention-plugin-2.3.14.3.jar
  • struts2-core-2.5.10.1.jar
  • struts2-json-plugin-2.5.10.1.jar
  • struts2-spring-plugin-2.5.10.1.jar
  • struts2-tiles-plugin-2.5.10.1.jar
  • xwork-core-2.1.6.jar

Update:我认为 Convention-Plugin-JAR 2.3.14.3 与其他 2.5.10.1 不兼容,所以我下载了:struts2-convention-plugin-2.5.10.1.jar

现在启动时得到

java.lang.IncompatibleClassChangeError: org/apache/struts2/convention/DefaultClassFinder$InfoBuildingVisitor
    at org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:459) ~[struts2-convention-plugin-2.5.10.1.jar:2.5.10.1]
    at org.apache.struts2.convention.DefaultClassFinder.<init>(DefaultClassFinder.java:90) [struts2-convention-plugin-2.5.10.1.jar:2.5.10.1]
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildClassFinder(PackageBasedActionConfigBuilder.java:397) [struts2-convention-plugin-2.5.10.1.jar:2.5.10.1]
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:379) [struts2-convention-plugin-2.5.10.1.jar:2.5.10.1]
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:335) [struts2-convention-plugin-2.5.10.1.jar:2.5.10.1]
    at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53) [struts2-convention-plugin-2.5.10.1.jar:2.5.10.1]
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:199) [struts2-core-2.5.10.1.jar:2.5.10.1]

解决方案 解决方案是添加 ASM 5.x JAR,它是注释的 Struts-Convention JAR 的依赖项。我们使用的是 ASM 3.3。我添加了 ASM-Core、-Common、-Tree 版本 5.1 JAR。


struts2-convention 插件 2.5.10.1 具有编译依赖项

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
</dependency>
<dependency>
    <groupId>org.ow2.asm</groupId>
    <artifactId>asm</artifactId>
    <version>5.1</version>
</dependency>
<dependency>
    <groupId>org.ow2.asm</groupId>
    <artifactId>asm-commons</artifactId>
    <version>5.1</version>
</dependency>

Note:如果你不需要asm and asm-commons您可以将依赖项降级到 Struts 2.5.5。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

启动错误:java.lang.InknownClassChangeError:org/apache/struts2/convention/DefaultClassFinder$InfoBuildingVisitor 的相关文章

随机推荐

  • 如何在C++ OpenCV中将图像(Mat)转换为inputArray?

    我想对灰度图像的强度值应用 k 均值聚类 我对如何将像素表示为向量感到非常困惑 所以如果我的形象是H x W像素 那么我的向量应该是H W维度 我尝试过的是 int myClass myFunction const cv Mat img c
  • 将 PDF 加载到 android webview 中

    in my android我必须加载的应用程序PDFs在服务器中进入webview 根据我使用的堆栈溢出问题谷歌文档视图在加载它时 但我的问题是有时它不显示文件webview而在另一个例子中它显示得很好 我无法弄清楚问题所在 但代码看起来没
  • genymotion:“player.exe 停止工作”

    我从他们的官方网站安装了 Windows 7 版的 GENYMOTION 软件包 它为我安装了 Oracle VM VirtualBox 和 Genymotion 之后 我打开 VirtualBox 然后打开 Genymotion 下载 G
  • 如何访问 WordPress.com 网站的 WP REST API?

    我看到 WordPress com 最近开始使用 Gutenberg 它依赖于 WP REST API 我正在构建一个插件 我想使用自托管站点中的 WP REST API 并让它与 WordPress com 站点通信 但我在查找 REST
  • 使用 jQuery 进行主动导航 - 无法将默认类应用于锚点

    我目前正在尝试制作一个navigation menu其中一个active class应用于锚点 其href与当前 URL 匹配的属性 因此我可以设置该锚点的样式 使其从菜单的其余部分中脱颖而出 这是我的标记 div h2 Navigatio
  • bodyParser 似乎不起作用

    抱歉 如果这个问题听起来 简单 但我不明白body parser处理这个非常简单的例子 use strict const PORT 3000 const express require express const bodyParser re
  • 所有时区时间都在哪里维护?

    如果我们设置TimeZone对于特定的Date java如何为此设置时间Date 例如如果我们设置PST作为时区 它如何知道确切的时区 它在哪里维护 提前致谢 时区数据源是特定于实现的 但我相信大多数实现都使用IANA 数据库 又名 zon
  • D3 折线图/面积图可以处理无序数据吗?

    请参考以下链接 https bl ocks org mbostock 34f08d5e11952a80609169b7917d4172 这里的数据是有序的 按顺序 如 2000 年 1 月 2000 年 2 月等 但我想让这个 d3 图适用
  • 有没有办法修复错误“不会尝试重新连接。原因:数据库位于不同的区域。”在带有 Firebase 的 Android Studio 中

    当我尝试在我的应用程序中注册时 进度条会无休止地运行 因为我的应用程序无法访问数据库 我尝试了一些获取更新的解决方案googles services json文件并更改我的代码中的 URL 但似乎没有任何效果 出现的错误 W Persist
  • Git 非快进拒绝

    我觉得这个问题已经被问过很多次了 但解决方案通常是 我删除了目录并通过新的签出重新完成了工作 我进行了提交并推送 但意识到我在提交消息中引用了错误的票号 所以我快速查看了一下solution最后在终端中输入以下内容 git reset so
  • 截断的 JTable 打印输出

    我有一个 JTable 它使用 JTextArea 作为其 TableCellRenderer 以便表格单元格可以利用自动换行 JTable 显示正常 当我通过 JTable 将表格打印到打印机时打印方法 输出总是在大约 60 的数据处被截
  • Axes3D 数据标签和绘图限制

    下面是一个小片段 说明了我遇到的与 matplotlib 的 Axes3D 实例中使用的立方体的大小以及轴标签的切断相关的问题 虽然我可以很容易地更改图形画布的背景颜色 但这仍然会导致标签上的文本变形 有谁知道如何最好地更改用于绘制数据的
  • 我无法使用 pack Uri 从 WPF 中的代码访问资源图像文件

    我的应用程序中有一些图像资源 我想以编程方式访问 现在我基于一些源代码 所以我需要通过 Uri 访问 所以我的代码是 new BitmapImage new Uri pack application YearBook component R
  • 使用 for_each 修改 std 容器(即使你不应该这样做)

    我正在参加 C 自学课程 学习标准库的工作原理 我想了解这段代码如何使用for each有效 特别是在突变方面objects 与本机数据类型相对 我意识到你不应该使用for each这边走 但这只是为了学习的目的 我原以为这段代码会改变集合
  • Java 的 SSH 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 有谁有使用 Java 的 SSH 库连接的示例吗 The Java 安全通道 JSCH 是一个非常流行的库 maven ant和eclipse都使用 它是开源的 具有 BSD 风格许
  • Angular Material - MdInput 到 MatInputModule?

    我正在使用什么 Angular 角度材质 2 0 0 beta 12 我在做什么 我刚刚开始一个新项目并安装了材料 从以前的项目复制一些语法时 尝试导入时出现错误 从 angular material 导入 MdInputModule 深入
  • 如何更新另一个更新面板中的控件?

    我在层次结构中有三个更新面板 UpdatePanel1 Root UpdatePanelChild1 UpdatePanelChild2 我可以在 updatePanel2 发生事件时更新 updatePanel1 中的控件吗 我不太喜欢每
  • 如何将数组中的值添加到其前后的值

    我试图将数字数组转换为非零整数元素值的步骤 即 spread 0 0 n 0 0 returns gt 0 n 2 0 n 1 n 0 n 1 0 n 2 spread 0 0 0 n 0 2 returns gt 0 n 3 0 n 2
  • 针对性能不佳的 Lint 警告 - 80+ 次观看

    我收到此 lint 警告错误 highscores xml has more than 80 views bad for performance 这是我的高分表 有 15 行 3 列 这是我的应用程序的 Lite 版本 我的付费版本将容纳
  • 启动错误:java.lang.InknownClassChangeError:org/apache/struts2/convention/DefaultClassFinder$InfoBuildingVisitor

    我有一个 Struts2 应用程序 最初是基于 XML 的 但现在我第一次引入了基于注释的操作 并且该应用程序在启动时崩溃了 鉴于以下操作映射 在应用程序启动时 我收到错误 java lang InstantiationError com