Невозможно загрузить класс Action при развертывании war-файла struts2.5 в weblogic 10.3.6 - PullRequest
0 голосов
/ 23 мая 2019

Невозможно загрузить ошибку действия при развертывании war-файла struts2 в weblogic 10.3.6

Приведенный выше вопрос очень похож на проблему, с которой я сталкиваюсь, но решение не предусмотрено. У меня есть приложение в struts2.5, которое я экспортировал в файл * .war и пытаюсь развернуть его в weblogic 10.3.6 (работает на java7). Во время развертывания я получаю сообщение об ошибке, что класс Action не найден (когда я вижу его в файле WEB-INF / classes файла war).

Как упомянуто пользователем 3898783 в приведенной выше ссылке: «Что делает Weblogic во время Развертывание WAR (очевидно, оно внутренне взрывается) помещает все файлы, находящиеся в папке web-inf / classes, в файл jar с именем _wl_cls_gen.jar и копирует в каталог web-inf / lib в папке этапа домена. "- аналогично моя проблема. В настоящее время я использую конфигурацию wls: предпочитаемый-web-inf-classes "true" / wls: предпочитаемый-веб-inf-classes в моем файле weblogic.xml, который на самом деле не решил мою проблему.

weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
     <wls:container-descriptor>
        <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
     </wls:container-descriptor>


    <wls:session-descriptor> 
        <wls:cookies-enabled>true</wls:cookies-enabled>
     </wls:session-descriptor>

</wls:weblogic-web-app>

<May 23, 2019 1:00:02 AM CDT> <Error> <HTTP> <BEA-101165> <Could not load user defined filter in web.xml: org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.
Unable to load configuration. - action - zip:/apps/bea/wls103/user_projects/domains/mydomain/servers/mymanagedserver/tmp/_WL_user/myapp/4bdx7o/war/WEB-INF/lib/_wl_cls_gen.jar!/struts.xml:16:97
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:509)
        at org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:73)
        at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:61)
        at weblogic.servlet.internal.FilterManager$FilterInitAction.run(FilterManager.java:343)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        Truncated. see log file for complete stacktrace
Caused By: Unable to load configuration. - action - zip:/apps/bea/wls103/user_projects/domains/mydomain/servers/mymanagedserver/tmp/_WL_user/myapp/4bdx7o/war/WEB-INF/lib/_wl_cls_gen.jar!/struts.xml:16:97
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
        at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:957)
        at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:463)
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:496)
        at org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:73)
        Truncated. see log file for complete stacktrace
Caused By: Action class [com.myapp.struts.actions.LoginAction] not found - action - zip:/apps/bea/wls103/user_projects/domains/mydomain/servers/mymanagedserver/tmp/_WL_user/myapp/4bdx7o/war/WEB-INF/lib/_wl_cls_gen.jar!/struts.xml:16:97
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:508)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:457)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:572)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:326)
        at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:108)
        Truncated. see log file for complete stacktrace
>

Я проверил свой файл struts.xml (struts.xml: 16: 97) - и он указывает на отображение класса действий LoginAction, которое, очевидно, не удается найти в weblogic "../domains/../mymanagedserver / TMP / _WL_user / MyApp / 4bdx7o / война / WEB-INF / классы "

Благодарю вас в ожидании

1 Ответ

0 голосов
/ 27 мая 2019

Наконец я смог понять это. Виновником был уровень соответствия компилятора в моем проекте Eclipse. Хотя я использовал jdk1.7 в своем пути сборки проекта, я должен был также проверить версию соответствия компилятора проектов в Eclipse, которая была 1.8 (proj правой кнопкой мыши> JavaCompiler>, я установил его на 1.7). Кроме того, я использовал javax.servlet-api-3.0.1.jar - я переключился на servlet2.5, когда где-то читал, что weblogic10.3.x совместим только с servlet2.5.

Надеюсь, это поможет кому-то найти решение подобной проблемы.

...