Проблемы с развертыванием приложения в Weblogic через консоль администратора

Я использую Weblogic 10.3.5. Когда я развертываю приложение Struts2 локально в eclipse, оно работает нормально. Когда я пытаюсь развернуть свое приложение через консоль администратора, я получаю сообщение об ошибке Struts 2: имя не найдено для действия.

Когда я смотрю на файл .war, в нем есть все библиотеки и классы. Я следовал этим указаниям для развертывания через Admin Console. Я могу успешно выполнить развертывание через консоль администратора, но когда я пытаюсь использовать тестовые ссылки для приложения, я получаю ту же ошибку. Если я попытаюсь получить доступ к приложению через URL-адрес:

http://localhost:7001/app-name

Я получаю ту же ошибку.

Вот трассировка стека:

Что я делаю неправильно? Почему я могу получить доступ к приложению, когда развертываю его через eclipse, но не могу получить доступ к приложению, когда развертываю его через консоль администратора.

Спасибо за вашу помощь!

Похоже, ваш файл struts.xml в WEB-INF/classes почему-то неверен, когда вы пытаетесь развернуть вручную. Откройте ваш файл .ear/.war и посмотрите, что находится в вашем файле struts.xml (если он вообще существует). Eclipse может автоматически помещать его в папку для вас, которая не развертывается, когда вы делаете это вручную. Ниже приведен рабочий пример для справки:


person NuAlphaMan    schedule 02.06.2014    source источник
comment
@better_use_mkstemp, я обновил сообщение с трассировкой стека.   -  person Display Name is missing    schedule 02.06.2014
comment
Файл struts.xml существует. В нем есть несколько вещей, чтобы изменить константы Struts2. Мы используем аннотации.   -  person NuAlphaMan    schedule 02.06.2014


Ответы (1)


Если корневым контекстом проекта является «имя приложения», вы можете получить доступ к вышеуказанному действию через URL-адрес, например — http://domain:8080/app-name/myAction.action

<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>

Что такое сообщение об ошибке/трассировка стека? Звучит как проблема с classpath, но для помощи нужна полная трассировка.

person Display Name is missing    schedule 02.06.2014
comment
[[АКТИВНО] ExecuteThread: «8» для очереди: «weblogic.kernel.Default (самонастройка)»] ПРЕДУПРЕЖДЕНИЕ org.apache.struts2.dispatcher.Dispatcher — Не удалось найти действие или результат: /eServices/login.action нет действия, сопоставленного для пространства имен [/] и имени действия [логин], связанного с контекстным путем [/eServices]. - [неизвестное местоположение] в com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185) в org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) в org.apache.struts2.impl. 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.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) в org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) в weblogic.servlet.internal.FilterChainImpl.doFilter (FilterChainImpl.java:56) в oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111) в java.security.AccessController.doPrivileged(собственный метод) в oracle.security.jps.util. JpsSubject. doAsPrivileged(JpsSubject.java:313) в oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413) в oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94) в oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161) в oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) в weblogic.servlet.internal.FilterChainImpl .doFilter(FilterChainImpl.java:56) в oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136) в weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) в weblogic.servlet.internal. WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715) в weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) в weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) в weblogic.security.service.SecurityManager .runAs(SecurityManager.java:120) в weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) в weblogic.servlet.internal. WebAppServletContext.execute(WebAppServletContext.java:2183) в weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) в weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) в weblogic.work.ExecuteThread.run (ExecuteThread.java:178) - person NuAlphaMan; 03.06.2014