ClassNotFoundException в веб-приложении с использованием структур - PullRequest
0 голосов
/ 25 февраля 2011

Я занимаюсь разработкой веб-приложения с использованием Apache Struts для развертывания на сервере JBoss.Использование eclipse для разработки.

Я настроил web.xml для пересылки всех * .do запросов в ActionServlet.

Страница JSP (abc.jsp) имеет форму с action = "newgoal.do ".

В файле struts-config.xml есть следующая запись:

 <action path="/newgoal" type="com.misys.trng.AddingNewGoalAction">
 </action>

Я проверил, что путь к классу правильный.

Все остальныеВперед .do в моем веб-приложении работают отлично.Когда я отправляю форму из abc.jsp, я получаю следующее исключение:

2:13:43,793 ERROR [RequestProcessor] No action instance for path /newgoal could be created
java.lang.ClassNotFoundException: com.misys.trng.AddingNewGoalAction
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:117)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:143)
at org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:280)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:218)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)

Я не могу понять, в чем может быть ошибка.Почему мое приложение не может загрузить 1 определенный класс, когда все остальные работают нормально.Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 13 сентября 2012

Возможно, что-то статично в вашем действии? У меня такая же проблема. Одна статическая переменная была инициализирована со значением в несуществующих свойствах, затем действие не инициализировано.

1 голос
/ 25 февраля 2011

Класс должен существовать в WEB-INF/classes или находиться внутри файла .jar в WEB-INF/lib.Убедитесь, что это так.

...