0

我正在使用 Weblogic 10.3.5。当我在 Eclipse 中本地部署我的 Struts2 应用程序时,它运行良好。当我尝试通过管理控制台部署我的应用程序时,我收到 Struts 2 错误,找不到名称以进行操作。

当我查看 .war 文件时,它包含所有库和类。我按照这些说明通过管理控制台进行部署。我可以通过管理控制台成功部署,但是当我尝试使用应用程序的测试链接时,我得到了同样的错误。如果我尝试通过 url 访问应用程序:

http://localhost:7001/app-name

我犯了同样的错误。

这是堆栈跟踪:

[[ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'] WARN org.apache.struts2.dispatcher.Dispatcher - 找不到操作或结果:/eServices/login.action 那里没有为与上下文路径 [/eServices] 关联的命名空间 [/] 和操作名称 [login] 映射的操作。- [未知位置] 在 org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) 在 org.apache.struts2.impl 的 com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)。 StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:37) 在 com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) 在 org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:552) 在 org.apache .struts2.dispatcher。

我究竟做错了什么?为什么我通过eclipse部署时可以访问应用程序,但是通过Admin Console部署应用程序时却无法访问应用程序。

谢谢你的帮助!

4

1 回答 1

0

当您尝试手动部署时,听起来您在 WEB-INF/classes 中的 struts.xml 文件有些错误。破解打开你的 .ear/.war 文件,看看你的 struts.xml 中有什么(如果它存在的话)。Eclipse 可能会自动将其放入您手动执行时不会部署的文件夹中。以下是一个可供参考的工作示例:

<struts>
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">

    <action name="myAction" 
        class="com.something.myAction" >
        <result name="success">pages/myPage.jsp</result>
    </action>

</package>
</struts>

如果项目根上下文是“app-name”,您可以通过如下 URL 访问上述操作 - http://domain:8080/app-name/myAction.action

于 2014-06-02T21:06:06.053 回答