【问题标题】:What to modify when upgrading Struts from 2.0 to 2.5?将 Struts 从 2.0 升级到 2.5 时需要修改什么?
【发布时间】:2017-10-13 10:58:31
【问题描述】:

我有一个使用 Struts 在 Eclipse 上运行的大项目,我想将 Struts 从 2.0.11.1 升级到 2.5.3。

但是,我查看了迁移指南,但没有详细说明应该删除、更新、添加什么等信息。

我下载了struts 2.5.3,里面有很多库、插件、源文件等。

我的问题是我可以直接将 Struts 从 2.0.11.1 升级到 2.5.3 吗? 如果是,那么应该改变什么以及如何做到这一点? 如果没有,请提出解决方案。

【问题讨论】:

  • 欢迎来到 Stack Overflow!我不确定这个问题是否适合这个网站。这里的问题应该留给与编程严格相关的问题。
  • 嗨@ImaginaryHuman072889,感谢您的评论。但是,我通常在这里发现很多类似的问题,并且反馈是正常的。如果我不能在这里问,那么在哪里?谢谢。
  • 那我可能不正常了。这不是我的专业领域,所以我们可以等着看其他人是否可以提供答案。
  • 那么,如果你愿意,我可以请你删除 -1 票吗:)? @ImaginaryHuman072889
  • 这个问题太宽泛了。跨版本迁移在每个版本的发行说明中都有介绍;从 2.0 跳到 2.5 需要涵盖很多版本,并且需要牢记许多更改。从 2.0-2.1-2.2-2.3-2.5 开始可能会更好地为您服务(如果有的话,可能可以跳过 2.4,我不记得了)。

标签: struts2 migration upgrade


【解决方案1】:

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

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

它将获取此工件所需的所有依赖项,其他依赖项,例如您需要单独添加的插件。使用针对插件的相同版本。例如添加约定插件使用

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

目标版本号是 2.5.3,但它可能与其他功能不兼容,即 Hibernate 和 Spring,哪些版本需要通过将相应的工件添加到依赖项来单独升级。

最后也是最耗时的是更改项目的源代码,根据较新的 DTD 更新配置文件,API 更改,修复弃用。为此,请考虑阅读release notes

您不能只更改主版本号就升级 Struts2。


另见开发maven项目的例子:Create Struts 2 Web Application Using Maven To Manage Artifacts and To Build The Application

【讨论】:

  • 您好,感谢您的宝贵答复。但是,该项目不使用 Maven 来解析和获取依赖项,您对非 Maven 项目有什么建议吗?
  • 你可以使用 Gradle
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-17
  • 1970-01-01
  • 2014-10-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-05
  • 2014-09-20
相关资源
最近更新 更多