LINUX.ORG.RU
решено ФорумAdmin

[Tomcat][war]Tomcat не распаковывает war.


0

1

Пытаюсь поставить Xwiki на Tomcat. Скачал xwiki-enterprise-web-3.1-milestone-2.war, переименовал в xwiki.war, положил в директорию /usr/share/tomcat-6/webapps/, сделал владельцем tomcat:tomcat, запустил Tomcat (www-servers/tomcat-6.0.32-r1), но ничего не произошло. Я ожидал, что Tomcat обнаружит подложенный ему war и распакует его, после чего я подсуну в нужные места MySQL'ные библиотеки и всё у меня заработает, но war не распаковывается. Поиск отвека «почему» к успеху не привёл, всё время натыкаюсь на руководства «положите war и Tomcat распакует его», а он не распаковывает. Может есть опция распаковывать war'ы автоматически? Может есть консольная команда для распаковки war'ов? Как быть? Можно ли как-то проверить исправность Tomcat'а?

★★★★★

unpack не работает.

Так, в server.xml есть:

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
Но unpack не происходит. Можно узнать почему?

Camel ★★★★★
() автор топика
Ответ на: комментарий от leave

Выхлоп.

camel ~ # file /usr/share/tomcat-6/webapps/xwiki.war 
/usr/share/tomcat-6/webapps/xwiki.war: Zip archive data, at least v1.0 to extract

camel ~ # ls -l /usr/share/tomcat-6/webapps/xwiki.war 
-rw-r--r-- 1 tomcat tomcat 119324690 May 28 22:52 /usr/share/tomcat-6/webapps/xwiki.war

camel ~ # tail -n 50 /var/log/tomcat-6/catalina.out 
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
May 28, 2011 10:53:38 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor host-manager.xml
May 28, 2011 10:53:39 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
May 28, 2011 10:53:40 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive xwiki.war
May 28, 2011 10:53:51 PM org.apache.coyote.http11.Http11Protocol start
SEVERE: Error starting endpoint
java.net.BindException: Address already in use <null>:8080
	at org.apache.tomcat.util.net.JIoEndpoint.init(Unknown Source)
	at org.apache.tomcat.util.net.JIoEndpoint.start(Unknown Source)
	at org.apache.coyote.http11.Http11Protocol.start(Unknown Source)
	at org.apache.catalina.connector.Connector.start(Unknown Source)
	at org.apache.catalina.core.StandardService.start(Unknown Source)
	at org.apache.catalina.core.StandardServer.start(Unknown Source)
	at org.apache.catalina.startup.Catalina.start(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.main(Unknown Source)
Caused by: java.net.BindException: Address already in use
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
	at java.net.ServerSocket.bind(ServerSocket.java:328)
	at java.net.ServerSocket.<init>(ServerSocket.java:194)
	at java.net.ServerSocket.<init>(ServerSocket.java:150)
	at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(Unknown Source)
	... 13 more
May 28, 2011 10:53:51 PM org.apache.catalina.core.StandardService start
SEVERE: Failed to start connector [Connector[HTTP/1.1-8080]]
LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.net.BindException: Address already in use <null>:8080
	at org.apache.catalina.connector.Connector.start(Unknown Source)
	at org.apache.catalina.core.StandardService.start(Unknown Source)
	at org.apache.catalina.core.StandardServer.start(Unknown Source)
	at org.apache.catalina.startup.Catalina.start(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.main(Unknown Source)
May 28, 2011 10:53:51 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
May 28, 2011 10:53:51 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/48  config=null
May 28, 2011 10:53:51 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 12607 ms

Camel ★★★★★
() автор топика
Ответ на: Выхлоп. от Camel

А момент распаковки вара в логе есть? В смысле, попытки распаковки. Или томкат на старте не может зацепиться за :8080 и до деплоя не доходит?

leave ★★★★★
()
Ответ на: комментарий от leave

Не освободился.

Хм. Видать плохо освободился. Запустил tomcat с tail -f catalina.out в другом терминале, буду разбираться.

May 30, 2011 1:44:49 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /opt/sun-jdk-1.6.0.24/jre/lib/i386/client:/opt/sun-jdk-1.6.0.24/jre/lib/i386:/opt/sun-jdk-1.6.0.24/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
May 30, 2011 1:44:49 PM org.apache.coyote.http11.Http11Protocol init
SEVERE: Error initializing endpoint
java.net.BindException: Address already in use <null>:8080
	at org.apache.tomcat.util.net.JIoEndpoint.init(Unknown Source)
	at org.apache.coyote.http11.Http11Protocol.init(Unknown Source)
	at org.apache.catalina.connector.Connector.initialize(Unknown Source)
	at org.apache.catalina.core.StandardService.initialize(Unknown Source)
	at org.apache.catalina.core.StandardServer.initialize(Unknown Source)
	at org.apache.catalina.startup.Catalina.load(Unknown Source)
	at org.apache.catalina.startup.Catalina.load(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.load(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.main(Unknown Source)
Caused by: java.net.BindException: Address already in use
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
	at java.net.ServerSocket.bind(ServerSocket.java:328)
	at java.net.ServerSocket.<init>(ServerSocket.java:194)
	at java.net.ServerSocket.<init>(ServerSocket.java:150)
	at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(Unknown Source)
	... 13 more
May 30, 2011 1:44:49 PM org.apache.catalina.core.StandardService initialize
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8080]]
LifecycleException:  Protocol handler initialization failed: java.net.BindException: Address already in use <null>:8080
	at org.apache.catalina.connector.Connector.initialize(Unknown Source)
	at org.apache.catalina.core.StandardService.initialize(Unknown Source)
	at org.apache.catalina.core.StandardServer.initialize(Unknown Source)
	at org.apache.catalina.startup.Catalina.load(Unknown Source)
	at org.apache.catalina.startup.Catalina.load(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.load(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.main(Unknown Source)
May 30, 2011 1:44:49 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1388 ms
May 30, 2011 1:44:49 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
May 30, 2011 1:44:49 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
May 30, 2011 1:44:49 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor host-manager.xml
May 30, 2011 1:44:50 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
May 30, 2011 1:44:50 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive xwiki.war
May 30, 2011 1:44:57 PM org.apache.coyote.http11.Http11Protocol start
SEVERE: Error starting endpoint
java.net.BindException: Address already in use <null>:8080
	at org.apache.tomcat.util.net.JIoEndpoint.init(Unknown Source)
	at org.apache.tomcat.util.net.JIoEndpoint.start(Unknown Source)
	at org.apache.coyote.http11.Http11Protocol.start(Unknown Source)
	at org.apache.catalina.connector.Connector.start(Unknown Source)
	at org.apache.catalina.core.StandardService.start(Unknown Source)
	at org.apache.catalina.core.StandardServer.start(Unknown Source)
	at org.apache.catalina.startup.Catalina.start(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.main(Unknown Source)
Caused by: java.net.BindException: Address already in use
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
	at java.net.ServerSocket.bind(ServerSocket.java:328)
	at java.net.ServerSocket.<init>(ServerSocket.java:194)
	at java.net.ServerSocket.<init>(ServerSocket.java:150)
	at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(Unknown Source)
	... 13 more
May 30, 2011 1:44:57 PM org.apache.catalina.core.StandardService start
SEVERE: Failed to start connector [Connector[HTTP/1.1-8080]]
LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.net.BindException: Address already in use <null>:8080
	at org.apache.catalina.connector.Connector.start(Unknown Source)
	at org.apache.catalina.core.StandardService.start(Unknown Source)
	at org.apache.catalina.core.StandardServer.start(Unknown Source)
	at org.apache.catalina.startup.Catalina.start(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.main(Unknown Source)
May 30, 2011 1:44:57 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
May 30, 2011 1:44:57 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/49  config=null
May 30, 2011 1:44:57 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 7404 ms

Camel ★★★★★
() автор топика
Ответ на: комментарий от val-amart

Торможу.

Пардона прошу за задержки. Вожусь с домашним сервером с работы, иногда приходится немного работать.

May 30, 2011 1:56:22 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /opt/sun-jdk-1.6.0.24/jre/lib/i386/client:/opt/sun-jdk-1.6.0.24/jre/lib/i386:/opt/sun-jdk-1.6.0.24/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
May 30, 2011 1:56:22 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
May 30, 2011 1:56:22 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1391 ms
May 30, 2011 1:56:22 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
May 30, 2011 1:56:23 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
May 30, 2011 1:56:23 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor host-manager.xml
May 30, 2011 1:56:23 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
May 30, 2011 1:56:23 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive xwiki.war
May 30, 2011 1:56:30 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
May 30, 2011 1:56:30 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
May 30, 2011 1:56:30 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/47  config=null
May 30, 2011 1:56:30 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 7478 ms
May 30, 2011 1:59:40 PM org.apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080
May 30, 2011 1:59:40 PM org.apache.catalina.connector.Connector pause
SEVERE: Protocol handler pause failed
java.net.UnknownHostException: camel: camel
	at java.net.InetAddress.getLocalHost(InetAddress.java:1354)
	at org.apache.jk.common.ChannelSocket.unLockSocket(Unknown Source)
	at org.apache.jk.common.ChannelSocket.pause(Unknown Source)
	at org.apache.jk.server.JkMain.pause(Unknown Source)
	at org.apache.jk.server.JkCoyoteHandler.pause(Unknown Source)
	at org.apache.catalina.connector.Connector.pause(Unknown Source)
	at org.apache.catalina.core.StandardService.stop(Unknown Source)
	at org.apache.catalina.core.StandardServer.stop(Unknown Source)
	at org.apache.catalina.startup.Catalina.stop(Unknown Source)
	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Unknown Source)
May 30, 2011 1:59:41 PM org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
May 30, 2011 1:59:43 PM org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080
May 30, 2011 3:32:32 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /opt/sun-jdk-1.6.0.24/jre/lib/i386/client:/opt/sun-jdk-1.6.0.24/jre/lib/i386:/opt/sun-jdk-1.6.0.24/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
May 30, 2011 3:32:32 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
May 30, 2011 3:32:32 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1391 ms
May 30, 2011 3:32:32 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
May 30, 2011 3:32:32 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
May 30, 2011 3:32:32 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor host-manager.xml
May 30, 2011 3:32:33 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
May 30, 2011 3:32:33 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive xwiki.war
May 30, 2011 3:32:40 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
May 30, 2011 3:32:40 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
May 30, 2011 3:32:40 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/47  config=null
May 30, 2011 3:32:40 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 7459 ms

Camel ★★★★★
() автор топика
Ответ на: комментарий от val-amart

Всё равно не распаковывает.

Поставил tomcat-native, чтобы поменьше было сообщений. Отключил тех кто занимал порт 8080, запустил tomcat, вот что при этом падает в catalina.out. Отбил некоторые интересные строки.

May 31, 2011 12:17:39 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.20.
May 31, 2011 12:17:39 PM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
May 31, 2011 12:17:40 PM org.apache.coyote.http11.Http11AprProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
May 31, 2011 12:17:40 PM org.apache.coyote.ajp.AjpAprProtocol init
INFO: Initializing Coyote AJP/1.3 on ajp-8009
May 31, 2011 12:17:40 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1662 ms
May 31, 2011 12:17:40 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
May 31, 2011 12:17:40 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
May 31, 2011 12:17:40 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor host-manager.xml
May 31, 2011 12:17:41 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml


May 31, 2011 12:17:41 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive xwiki.war


May 31, 2011 12:17:47 PM org.apache.coyote.http11.Http11AprProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
May 31, 2011 12:17:47 PM org.apache.coyote.ajp.AjpAprProtocol start
INFO: Starting Coyote AJP/1.3 on ajp-8009
May 31, 2011 12:17:47 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 7373 ms
Однако в webapps при этом ничего не происходит. ЧЯДНТ?

Camel ★★★★★
() автор топика
Ответ на: комментарий от leave

Работает.

Оно работает!

На самом деле оно работает. Я не знаю куда распаковался war, но обращение по порту 8080 не выдаёт сообщение о невозможности подключится, а обращение mydomain.example:8080/xwiki выдаёт страницу с сообщением об ошибке (немудрено, база данных не настроена). Странно.

Camel ★★★★★
() автор топика
Ответ на: Re: Выхлоп. от vertexua

Три года лечили от желтухи...

...оказалось китаец.

Надо было класть war в /var/lib/tomcat-6/webapps, а не в /usr/share/tomcat-6/webapps

Camel ★★★★★
() автор топика
Ответ на: Три года лечили от желтухи... от Camel

Ох, если будете разрабатывать - дебиановская/убунтовая сборки томката принесут только страшный головняк. Томкат сложно ровно разнести по куче директорий с сохранением полиси дистрибутива.

leave ★★★★★
()
Ответ на: комментарий от leave

Томкэт прекрасно ставится с офф.сайта в одну директорию. Зачем дебиановцы лазают грязными руками и меняют пути - не пойму...

Solaris10
()
Ответ на: комментарий от Solaris10

Спасибо, кэп, мы в курсе как он ставится. В принципе, для продакшена вполне себе дебиановский подход хорош; он не подходит только для девелопмента (я сейчас не говорю про тех, кто пишет код в виме и собирает ручками).

leave ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.