需要在server.xml中引用CATALINA_HOME:
<Context docBase="D:\MyApp\WebContent" debug="0" crossContext="true" path="/solr">
    <Environment name="pick/home" type="java.lang.String" value="????" override="true"/>
</Context>
Environment 里面的value我想引用CATALINA_HOME,应该怎么写呢?谢谢!

解决方案 »

  1.   

    试一下
    value="${CATALINA_HOME}"
      

  2.   

    谢谢st10!
    我在context的path上做了下测试(方便起见):<Context docBase="${CATALINA_HOME}/WebContent" debug="0" crossContext="true" path="/solr"></Context>启动的时候报错了:严重: Error starting static Resources
    java.lang.IllegalArgumentException: Document base D:\data\apache.solr\third-solr-app-v1\apache-tomcat-6.0.18\webapps\${CATALINA_HOME}\WebContent does not exist or is not a readable directory
    at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:141)
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:3957)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4126)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    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:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    2010-10-26 10:31:25 org.apache.catalina.core.StandardContext start
    严重: Error in resourceStart()其中:Document base D:\data\apache.solr\third-solr-app-v1\apache-tomcat-6.0.18\为CATALINA_HOME,帮看看!
      

  3.   

    首先确认下 你的环境变量里有设置CATALINA_HOME么
      

  4.   

    还真没设置,不过我设置过后,再启动,仍然是这个错:
    java.lang.IllegalArgumentException: Document base D:\data\apache.solr\third-solr-app-v1\apache-tomcat-6.0.18\webapps\${CATALINA_HOME}\WebContent does not exist or is not a readable directory
      

  5.   

    sorry,忘记一个关键的设置在tomcat启动时还要设置下参数把-DCATALINA_HOME=D:\data\apache.solr\third-solr-app-v1\apache-tomcat-6.0.18设置进去
      

  6.   

    你先在环境变量下设置CATALINA_HOME
    然后在你的eclipse工程下面点击Run Configrations->Environment->select 你设置的CATALINA_HOME