当前位置: 首页 > 知识库问答 >
问题:

xwork和xwork-core中的冲突

阮鸿煊
2023-03-14
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.1.8.1</version>
</dependency>

<!-- Struts 2 + Spring plugins -->
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-spring-plugin</artifactId>
    <version>2.1.8.1</version>
</dependency>

<!-- MySQL database driver -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.9</version>
</dependency>

<!-- Spring framework --> 
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring</artifactId>
    <version>2.5.6</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>2.5.6</version>
</dependency>

<!-- Hibernate core -->
<dependency>
    <groupId>asm</groupId>
    <artifactId>asm-all</artifactId>
    <version>3.3</version>
</dependency>
<dependency>
    <groupId>asm</groupId>
    <artifactId>asm</artifactId>
    <version>3.3</version>
</dependency>
    <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>3.6.7.Final</version>
</dependency>

<!-- Hibernate core library dependency start -->

<!-- Hibernate core library dependency end -->

<!-- Hibernate query library dependency start -->
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-convention-plugin</artifactId>
    <version>2.1.8.1</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.15</version>
</dependency>
java.lang.NoSuchMethodError: com.opensymphony.xwork2.util.finder.UrlSet.<init>(Lcom/opensymphony/xwork2/util/finder/ClassLoaderInterface;Ljava/util/Set;)V
<dependency>
    <groupId>org.apache.struts.xwork</groupId>
    <artifactId>xwork-core</artifactId>
    <version>2.3.8</version>
</dependency> 
Caused by: Unable to load configuration. - [unknown location]
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)

共有1个答案

薛烨霖
2023-03-14

升级Struts2版本时,必须将应用程序所需的库更新到目标版本。Struts2的每个dustro都在lib文件夹中提供了与dustro版本兼容的相应库集。如果您使用maven来解析和获取依赖项,您应该考虑工件struts2-core

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.3.8</version>
</dependency>

它将为这个工件获取所有必需的依赖项,其他依赖项,如需要单独添加的插件。使用相同的版本目标插件。例如,添加约定插件使用

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-convention-plugin</artifactId>
    <version>2.3.8</version>
</dependency>

我选择的目标版本号是2.3.8,但它可能与其他特性不兼容,即Hibernate和Spring,这些版本需要通过向依赖项添加相应的工件来单独升级。

 类似资料:
  • XWork是一个标准的Command模式实现,并且完全从web层脱离出来。Xwork提供了很多核心功能:前端拦截机(interceptor),运 行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Navigation Language),IoC(Inversion of Control反转控制)容器等。 其目的是:创建一个泛化的、可重用且可扩展的命令模式

  • 这是一个很好的例子来解决这个问题。 但是当我在应用程序上下文中遇到相同的问题但没有这些应答器时: 使用注释解决了所有问题,但在我的示例中,我们没有使用允许使用注释的应答器。 我搜索了很多,发现有人在bean声明中谈论属性,我需要更多关于它的解释。

  • 关于这个问题有很多讨论,但是没有一个对我有用。我有一个asp.net核心api 2.1与角7应用程序。 错误: “车队:1次访问位于的XMLHttpRequest”https://localhost:44354/api/test“起源”http://localhost:4200'已被CORS策略阻止:请求的资源上不存在'Access Control Allow Origin'标头。" 启动: 配置

  • 问题内容: 尝试在文件和URL之间进行转换时,我得到一些奇怪的行为,尤其是当文件/路径的名称中带有空格时。有没有在两者之间进行转换的安全方法? 我的程序具有文件保存功能,其中实际的“保存”操作委托给需要URL作为参数的外部库。但是,我也希望用户能够选择要保存到的文件。问题是,在文件和URL之间进行转换(使用URI)时,空格显示为“%20”,并弄乱了各种操作。考虑以下代码: 这将返回false(由于

  • 在DirectX中,您可以有单独的渲染目标和深度缓冲区,因此可以绑定渲染目标和一个深度缓冲区、执行一些渲染、移除深度缓冲区然后使用旧的深度缓冲区作为纹理进行更多渲染。 你会如何在opengl中做到这一点?根据我的理解,您有一个帧缓冲区对象,其中包含颜色缓冲区和可选的深度缓冲区。我不认为我可以同时绑定多个帧缓冲器对象,我是否必须在每次更改时(可能一帧几次)重新创建帧缓冲器对象?普通的 opengl

  • 问题内容: 我正在尝试在同时引用 jQueryUI 和 Bootstrap 3 的View 上使用。如果我在jQueryUI的js之后加载Boostrap,则调用成功,但是如果我在Bootstrap之后调用jQueryUI,则出现错误,并且没有任何效果。您可以自己尝试。互联网上对此进行了大量讨论,我询问了有关GitHub的问题,但我还找不到解决方案。 问题答案: 理想的解决方案是采用没有工具提示的

  • 我所有涉及gui的代码都有问题。例如,公共类Ritboard扩展Jboard行给我一个错误: 在javax.swing.JComponent中的getBaselineResizeBeacior()与在java.awt.Component中的getBaselineResizeBeacior()冲突;试图使用不兼容的返回类型 他的权宜之计是实施什么都不做的方法。我也尝试重新安装IntelliJ。有谁知

  • 我们有一个子类,我们不需要任何等号和哈希码比较。它在超级类中处理。 但是FindBugs给出了错误-EQ_DOESNT_OVERRIDE_EQUALS:这个类扩展了一个类,该类定义了一个EQUALS方法并添加了字段,但没有定义EQUALS法本身。因此,该类实例上的相等将忽略子类的标识和添加的字段。确保这是预期的,并且您不需要重写equals方法。即使您不需要重写equals方法,也可以考虑无论如何