tomcat / запускает struts, вызывающее исключение ClassNotFoundException для java.io.File

#tomcat #struts2 #classloader

#tomcat #struts2 #classloader

Вопрос:

Я столкнулся со странной проблемой. Когда я запускаю tomcat с моим веб-приложением (struts 2), я вижу это в catalina.out. Он ищет java.io.Файл в каталоге classes моего приложения, и, конечно, я не могу его найти. Он также ищет ряд других основных классов Java, таких как Comparator.

Кто-нибудь знает, почему он ищет там? В трассировке стека я вижу opensymphony, что подразумевает, что это проблема Struts, и можно предположить, что это проблема конфигурации, связанная с загрузчиками классов, но я все еще в замешательстве.

Я заменил путь на «» в трассировке стека ниже.

     12:50:12.547 [main] DEBUG c.o.x.u.c.FileResourceStore - Unable to read file [java/io/File.class]
java.io.FileNotFoundException: /home/<company name>/WEB-INF/classes/java/io/File.class (No such file or directory)
    at java.io.FileInputStream.open(Native Method) ~[na:1.6.0_20]
    at java.io.FileInputStream.<init>(Unknown Source) ~[na:1.6.0_20]
    at com.opensymphony.xwork2.util.classloader.FileResourceStore.read(FileResourceStore.java:33) ~[xwork-core-2.1.6.jar:na]
    at com.opensymphony.xwork2.util.classloader.ResourceStoreClassLoader.fastFindClass(ResourceStoreClassLoader.java:31) [xwork-core-2.1.6.jar:na]
    at com.opensymphony.xwork2.util.classloader.ResourceStoreClassLoader.loadClass(ResourceStoreClassLoader.java:45) [xwork-core-2.1.6.jar:na]
  

Ответ №1:

Нам понадобится дополнительная информация. Не могли бы вы опубликовать свой struts.xml или (если таковой имеется) ваш struts.properties? Кроме того, имейте в виду, что вы используете старую версию S2, и, если я правильно помню, она что-то изменила в некоторых опубликованных вами классах.

Комментарии:

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