2010-07-30 2 views
9

Пожалуйста, помогите мне с нижеследующими исключениями, которые я получаю при попытке развернуть WAR-файл на сервере Tomcat.ошибка tomcat при развертывании WAR-файла

07:46:50,076 WARN HostConfig:606 - Exception while expanding web application archive chapal.war 
07:47:00,123 INFO StandardHostDeployer:435 - Processing Context configuration file URL file:/home/eqdev/eqgen117/chrad/chapal-puru/tomcat/conf/Catalina/local 
host/chapal.xml 
07:47:00,158 ERROR Digester:1275 - Begin event threw exception 
java.util.zip.ZipException: error in opening zip file 
     at java.util.zip.ZipFile.open(Native Method) 
     at java.util.zip.ZipFile.<init>(ZipFile.java:203) 
     at java.util.jar.JarFile.<init>(JarFile.java:132) 
     at java.util.jar.JarFile.<init>(JarFile.java:70) 
     at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:56) 
     at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:41) 
     at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:68) 
     at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:102) 
     at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:69) 
     at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:155) 
     at org.apache.catalina.startup.SetDocBaseRule.begin(SetDocBaseRule.java:138) 
     at org.apache.commons.digester.Digester.startElement(Digester.java:1273) 
     at org.apache.catalina.util.CatalinaDigester.startElement(CatalinaDigester.java:65) 
     at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) 
     at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source) 
     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source) 
     at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source) 
     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) 
     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
     at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
     at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) 
     at org.apache.commons.digester.Digester.parse(Digester.java:1567) 
     at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:488) 
     at org.apache.catalina.core.StandardHost.install(StandardHost.java:863) 
     at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:482) 
     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427) 
     at org.apache.catalina.startup.HostConfig.checkContextLastModified(HostConfig.java:834) 
     at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1070) 
     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:327) 
     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
     at org.apache.catalina.core.StandardHost.backgroundProcess(StandardHost.java:800) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1619) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1628) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1608) 
     at java.lang.Thread.run(Thread.java:595) 
07:47:00,165 ERROR HostConfig:484 - Error deploying configuration descriptor chapal.xml 
java.io.IOException: java.util.zip.ZipException: error in opening zip file 
     at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:494) 
     at org.apache.catalina.core.StandardHost.install(StandardHost.java:863) 
     at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:482) 
     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427) 
+0

Выглядит очень похоже на этот: http://stackoverflow.com/questions/5493931/java-lang-illegalargumentexception-invalid-or-unreadable-war-file-error-in-op – manuna

ответ

1

Похоже, что ваш военный файл может быть поврежден или иметь неправильные разрешения. .war файлы - zipfiles - можете ли вы открыть файл с zip/winzip/7zip или тому подобное и подтвердить, что он является полным и читаемым? Каковы права доступа к файлам?

0

Похоже, что ваш файл войны поврежден или неправильно сформирован. Это все, что я могу предоставить из трассировки стека.

Как вы создаете свою войну?

+0

через ant ... я могу успешно его открыть с помощью WinRAR. Я также FTP-файл, используя муравей в режиме bin ... Смешно, что инструкции отладки распечатываются в журнале ... поэтому я не знаю, что именно происходит. – Chapax

+0

Хорошо, чтобы сузить проблему, попробуйте развернуть созданный файл войны локально на tomcat. Если это удается, тогда возникает проблема при передаче файла через ftp – naikus

2

Вы использовали FTP-файл из Windows в Unix в режиме ASCII вместо двоичного?

Это может быть одной из причин повреждения файла. Вы могли бы быть в состоянии открыть с ZIP на окнах - но попробуйте

jar tvf <filename> на Unix, чтобы увидеть, если он просматривает содержимое правильно

12

Я вижу эту проблему при автоматическом развертывании устанавливается истина, и я отправляю войну файл через медленное соединение с сервером Linux. По какой-то причине Tomcat пытается развернуть WAR до того, как она завершит загрузку на сервер. Отключение автоматического развертывания и выполнение его вручную или ftping файла в каталог на сервере, а затем webapps, а затем перемещение его в webapps устраняет проблему.

Кажется, проблема с Tomcat не ждет, пока файл не будет загружен, прежде чем пытаться его расширить.

0

У меня есть аналогичная ошибка. Попробуйте выключить брандмауэр/антивирус. Это помогло мне.

4

Если вы развертываете в Linux, убедитесь, что пользователь читает, что процесс tomcat работает как. Запустите «chmod + r» в файл войны, чтобы добавить права на чтение всем.

+2

Awesome. Это только помогло мне исправить мою проблему после частых царапин на голове. Жаль, что ошибки tomcat не являются более полезными! – threejeez

+0

@Miles: Если ответ действительно решил вашу проблему, примите его. –

+1

@Coral: немного сложно принять ответ на вопрос, который я не спрашивал. Кроме того, хотя этот ответ помог мне решить эту проблему (еще раз спасибо @Mike!), С тех пор я получил это исключение несколько раз с тех пор, когда проблема не была разрешена. Это исключение является общим и может быть брошено для * любого * количества причин, когда взрывается война: разрешения, коррумпированные почтовые индексы, отсутствие дискового пространства и т. Д. Рис. Я бы выбрал это в миксе! – threejeez

1

У меня была такая же проблема, и я просто разархивировал и снова заново застегнул ее вручную. Это сработало для меня.

2

У меня тоже была такая же проблема. Изменение разрешения файла войны разрешило его

0

У меня была эта же проблема. Мне нужно записать файл WAR на DVD и скопировать его в DMZ. К сожалению, финализация диска в Roxio по какой-то причине искажала файл WAR. Я остановил окончательную установку диска, и WAR развернулся нормально.

0

Я потратил много времени, чтобы понять, что может быть причиной. Наконец, для меня это помогает, когда я строю ВОЙН, и в то же время местный котик не работает. В противном случае я увижу эту ошибку. Не уверен, почему, но что-то мешает построить правильную WAR, если локальный tomcat UP (через IDE, а не отдельно). Причиной может быть IDE. Надеюсь, это помогает кому-то.

Смежные вопросы