2008-11-26 25 views
17

Tomcat documentation diyor ki:Hangi Tomcat 5 içerik dosyası önceliklidir?

İçerik Tanımlayıcıları için konumlar;

$ CATALINA_HOME/conf/[enginename]/[anabilgisayaradı] /context.xml
$ CATALINA_HOME/webapps/[webappname] /META-INF/context.xml

benim sunucuda

, ben en azından var 3 dosya etrafında yüzer:

1 ...tomcat/conf/context.xml 
2 ...tomcat/Catalina/localhost/myapp.xml 
3 ...tomcat/webapps/myapp/META-INF/context.xml 

Öncelik sırası nedir?

cevap

31

, sipariş (conf/Catalina/localhost dikkat edin) olduğu:

...tomcat/conf/context.xml 
...tomcat/conf/Catalina/localhost/myapp.xml 
...tomcat/webapps/myapp/META-INF/context.xml 

Bunu kurdum (ve Tomcat 5.5 official documentation for the Context Container numaralı telefondan.

Eğer bu basit bir cevapsa, tam cevap nedir?

Erkek kediler 5.5. listelediğinizin ötesindeki <Context> öğesinin diğer yerlerinde birkaç yere bakacaktır (resmi belgelere bakın). Tomcat bir Catalina/localhost/myapp.xml bulursa

META-INF/context.xml açılacak asla. Yani, yukarıdaki tüm dosyalara sahipseniz, META-INF/context.xml'un alakasız olduğunu söylemek daha doğru, en düşük öncelik değil.

ne olursa conf/context.xml arasında, o en yüksek öncelik olmasını sağlayacak Catalina/localhost/myapp.xml yılında <Context override="true" ...> derseniz

. META-INF\context.xml'unuzda, Catalina/localhost/myapp.xml'un olmadığı sürece aynı şey (önceki paragrafa bakın). Ayrıca, yukarıdaki dosyalardaki yolun /Catalina/localhost/ kısmı aslında "varsayılan" conf/server.xml'dan çıkıyor ve <Engine name="Catalina" defaultHost="localhost"> ile eşleşiyor. server.xml, ve defaultHost içiniçin farklı değerler kullanıyorsa, Tomcat'in bakacağı yön yapısı budur.

Son olarak, listelediğiniz dosyaların ...tomcat\ kısmı için Tomcat, $CATALINA_BASE ortam değişkeninden dir yönünü kullanır. Bu ayarlanmamışsa, Tomcat kurulumunun dizini olan $CATALINA_HOME ortam değişkeninden dir'i kullanır. Tomcat kurulumumu "kirletmemek" için $CATALINA_BASE'u ayarlamayı ve kullanmayı seviyorum.

+0

Vay, çok detaylı ve etkileyici bir cevap. Teşekkür ederim. – Ittai

0

Ben herhangi bir resmi belgelerine bulamadım ama olmaya yükleme sırası gözlemledim:

1 tomcat_home/conf/context.xml 
2 tomcat_home/webapps/myapp/META-INF/context.xml 
# 2 uygulanan sonuncusu (böylece onun ayarları uygulanabilir, önceki tüm olanları geçersiz) olduğunu

.

Webapp uygulamasını bağlam dosyaları olarak kullanmıyorum (seçenek # 2).

1

Benim anlayış:

  • erkek kedi/conf/context.xml içerikleri Webapp bağlam tanımlarla paylaşımlı olacak şekilde "varsayılan" context.xml olduğunu. Benim TC 5 varsayılan context.xml'in, bu kavramı destekleyen web.xml dosyasını izlenen bir kaynak olarak listelemenin dışında, neredeyse hiçbir şeyi yoktur. Webapp için
  • tomcat/Catalina //. Xml kullanılır. Ya burada manuel olarak buraya yerleştirilir, veya web sunucunuzdan dağıtım zamanında alınır. Bu, TC'nin kullandığı gerçek ustadır. Eğer düzenlerseniz bu değişiklikler bir sonraki başlangıçta okunacaktır.
  • erkek kedi/webapps/myapp/META-INF/context.xml - İlk dağıtımdan sonra, bunu herhangi bir etkisi olduğunu düşünmüyorum bu değiştirirseniz bu ilk dağıtımı üzerine tomcat/Catalina/kopyalanır
Eğer basit bir cevabı tüm varsayılan kullandığınız varsayarak listelenen dosyalar için
İlgili konular