【问题标题】:Adding JSON jar file to my Struts 2 project gives error: 404 resource not found将 JSON jar 文件添加到我的 Struts 2 项目会出现错误:找不到 404 资源
【发布时间】:2024-01-16 13:48:01
【问题描述】:

我正在使用 jTable 制作一个需要使用 JSON 的 Struts 2 应用程序。为此,我将 Struts 2 JSON 插件 jar 添加到我的项目中

struts2-json-plugin-2.3.8.jar

没有那个 jar,我的项目运行良好(显然没有 json 功能),但是当我添加上面的 jar 时,我的登录页面显示错误

404 - resource not available.

我使用的不同 jar 是:

commons-fileupload-1.2.1.jar, 
commons-io-1.3.2.jar, 
commons-lang3-3.1.jar, 
commons-logging-1.1.jar, 
freemarker-2.3.13.jar, 
javassist-3.11.0.GA.jar, 
junit-3.8.1.jar, 
ognl-2.6.11.jar, 
servlet-4.0.6.jar, 
struts2-core-2.1.6.jar, 
struts2-json-plugin-2.3.8.jar, 
xwork-2.1.2.jar

我正在关注这个Setting up jQuery jTable plugin in Struts 2 framework

【问题讨论】:

  • 如果您正在关注某个帖子,请直奔主题。
  • 两个问题:(1)Struts 2标签库版本明显任意混搭;它不像那样工作——使用 Maven 或类似的,并且(2)你不能在不添加它们的传递依赖项的情况下任意添加库。在这种情况下,如果您使用的是正确版本的所有内容,它实际上可能会起作用,但通常情况下,除非存在显式冲突,否则您不应该自己进行依赖管理。

标签: java jar struts2 jquery-jtable struts2-json-plugin


【解决方案1】:

这是lib.txt 中的必需库集:

commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.4.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
commons-logging-api-1.1.jar
freemarker-2.3.19.jar
gson-2.2.2.jar
javassist-3.11.0.GA.jar
ognl-3.0.6.jar
struts2-core-2.3.8.jar
struts2-json-plugin-2.3.8.jar
xwork-core-2.3.8.jar

但是在您的项目中,您使用的是不同版本的 Struts 库的混合。比如

struts2-core-2.1.6.jar, 
struts2-json-plugin-2.3.8.jar, 
xwork-2.1.2.jar

您不应将任何 servlet 库复制到服务器,例如

servlet-4.0.6.jar, 

服务器已经拥有所有 servlet 版本的依赖项。将库的范围更改为不包含在最终战争中。

关于

commons-io-1.3.2.jar,

应该更新不适用于 Struts 2.3.8 的内容。

【讨论】: