java - Struts 2 中的默认 Action 包

标签 java inheritance configuration struts2 package

是否有像 action-default 这样的包与 Struts2 关联?

我不确定它来自哪个 jar(struts-core 或插件),但它在我的 struts.xml 中驻留多年。我们用过struts-core-2.1.8。

我将 struts 版本更新到 2.3.8,struts 开始报错,

SEVERE: Exception starting filter struts2-prepare
Unable to load configuration. - [unknown location]
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:483)
    at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.init(StrutsPrepareFilter.java:50)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4656)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5312)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Caused by: Unable to load configuration. - [unknown location]
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:429)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:471)
    ... 15 more
Caused by: Parent package is not defined: action-default - [unknown location]
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildPackageContext(XmlConfigurationProvider.java:660)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:508)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:290)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:239)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
    ... 17 more

我找不到任何关于 action-default 包的引用。任何人都可以帮我弄清楚 action-default 包中的可用内容以及 Struts 2.3.8 中的替代项。

编辑:

我无法发布完整的 struts.xml,它太长了。包声明如下,

<package name="default" extends="struts-default,jfreechart-default,json-default,action-default">

使用的 Struts 相关 jar 的 Artifact Id:

  1. struts2-core 2.1.8
  2. struts2-convention-plugin 2.1.8
  3. struts2-spring-plugin 2.1.8
  4. struts2gwtplugin 0.2.1
  5. struts2-jfreechart-plugin 2.1.6
  6. struts2-jquery-plugin 3.5.0
  7. struts2-json-plugin 2.1.8.1

有了上面提到的所有 jars,struts 就不会提示“action-default”包了。

将以下jar更新到2.3.8版本后,struts开始报错包丢失,

  1. struts2-core 2.3.8
  2. struts2-convention-plugin 2.3.8
  3. struts2-spring-plugin 2.3.8
  4. struts2-json-plugin 2.3.8

最佳答案

在Struts默认配置中没有这样的包名action-default,包名是struts-default。更改您的包扩展的包的名称。

关于java - Struts 2 中的默认 Action 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19114955/

相关文章:

asp.net-core - 在 .NET Core 控制台应用程序上使用 Steeltoe Discovery 客户端 (Spring Cloud Config)

c++ - 扩展模板抽象类时出错

java - 从自定义类获取 spring 配置值

java - 从 RecyclerView 中删除与 List 不关联的 View

java - 如何在普通java项目中使用maven项目jar

c++ - 将从元组派生的对象放入 C++ 中的 vector 中

python - 用 Super 构建合适的 Python Facade 类?

mysql - PHP.ini Mysql 问题

java - 大学温度转换程序

Java按频率排序的非重复列表