2012-03-30 14 views
6

Tôi đang cố gắng để thích nghi với một số cũ xây dựng kịch bản để chạy với một cài đặt RPM của Tomcat 6, và tôi chạy vào như sau:

java.lang.IllegalArgumentException: Document base /var/lib/tomcat6/webapps/host-manager does not exist or is not a readable directory 
    at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142) 
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4086) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4255) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637) 
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:516) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:593) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:616) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 

Đây là ngạc nhiên như Tomcat không có trong /var/lib/tomcat6, nó ở /usr/share/tomcat6. Khi tôi tìm kiếm nơi này có thể đến từ, tất cả tôi thấy là sau đây trong một tập tin gọi là host-manager.xml:

<Context docBase="${catalina.home}/webapps/host-manager" 
    privileged="true" antiResourceLocking="false" antiJARLocking="false"> 

</Context> 

Bây giờ, tôi có $CATALINA_HOME thiết lập để /usr/share/tomcat6 như nó phải được, và không có tài liệu tham khảo để /var/lib bất cứ nơi nào trong ứng dụng web của tôi (bao gồm cả cấu hình) hoặc cài đặt Tomcat 6 của tôi, theo như tôi có thể nói. Vì vậy, những gì là ${catalina.home}, và làm thế nào là /var/lib/tomcat6 nhận được thay thế cho nó?

Trả lời

9

Look trong tập tin ${TOMCAT_HOME}/bin/catalina.sh của bạn - di chuyển xuống phần đầu - thuộc tính hệ thống catalina.home được thiết lập từ biến CATALINA_HOME env:

-Dcatalina.home=\"$CATALINA_HOME\" 

Bây giờ là tại sao điều này không giống như những gì bạn có CATALINA_HOME biến env được đặt thành - bạn sẽ cần kiểm tra xem máy chủ tomcat của bạn được khởi động như thế nào, đặc biệt là biến môi trường nào được đặt trong quy trình/ngữ cảnh mà nó được khởi chạy từ đó.

Vậy làm cách nào để bạn bắt đầu phiên bản tomcat?

+0

Tôi đã bắt đầu bằng catalina.sh. Không khai thác nó để tìm hiểu lý do tại sao nó không sử dụng biến môi trường, nhưng vấn đề cụ thể này đã được giải quyết bằng cách cài đặt RPM của tomcat6-admin-webapps, đặt các tệp đó vào/var/lib nơi nó đang tìm kiếm chúng . –

Các vấn đề liên quan