Tomcat'i dosya yüklemeleri için farklı bir geçici dizin kullanacak şekilde yapılandırma


14

Tomcat örneğim, çok az alanı olan bir sürücüde oturuyor. Çalıştığım uygulama dosya yüklemelerini sunucudan ve NAS'a taşıyor. Ancak yükleme sırasında Tomcat bu dosyayı yerel olarak, muhtemelen / temp dizininde tutar.

Sunucum, bu geçici dizinin yerini değiştirmek istediğim boş alan içeren ikinci bir veri sürücüsüne sahip. Tomcat'i bu diğer sürücüde geçici bir dizin kullanacak şekilde nasıl yapılandırabilirim? bu dizinin yerini nasıl değiştirebilirim?

Düzenleme: Windows Server 2k3 çalıştırıyorum. CATALINA_TMPDIR env var ayarını denedim, ancak Tomcat bunu görmezden geldi.

Çözüm: Geçen "Monitor Tomcat" uygulamasını kullanıyorum

-Djava.io.tmpdir = C: \ bazı \ default \ dizin

JVM'ye. Bu, ayarladığım çevresel değişkeni geçersiz kılıyordu. Java > Java Seçenekleri altında bulabilirsiniz

Bunu değiştirmek sorunumu çözdü.

Yanıtlar:


20

java.io.tmpdirTomcat olarak ayarlanır $CATALINA_BASE/temp. Tomcat için $CATALINA_TMPDIRçalıştırmadan önce ortam değişkenini ayarlayarak değiştirebilirsiniz startup.sh.

Gönderen catalina.sh:

#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
#                   the JVM should use (java.io.tmpdir).  Defaults to
#                   $CATALINA_BASE/temp.

Bu sadece * nix sistemleri için çalışıyor gibi görünüyor, çünkü Windows 2k3'te CATALINA_TMPDIR env var ayarını denediğimde ve Tomcat'i başlattığımda, varsayılan temp klasörünü kullanmaya devam etti.
rcampbell

Windows'ta bir sistem ortamı değişkeni ayarlarsanız, yürürlüğe girmeden önce yeniden başlatmanız gerekebilir.
CoverosGene

Ubuntu'da temp dizinini şu şekilde ayarlayabilirsiniz/etc/default/tomcat7
beldaz

3

Windows'da Tomcat'i bir hizmet olarak çalıştırıyorsanız, aşağıdakine benzer bir anahtarınız vardır:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\myApplication\Parameters\Java

Mevcut değerin sonunda dize değerini options(açmak için çift tıklama) şu şekilde ayarlayın:

-Djava.io.tmpdir=c:\{yourDir}

Bu benim için çalıştı.


1

UNIX / Linux kullanıyorsanız, ilk dizindeki geçici dizininizi ikinci bir sürücüdeki ilgili dizine bağlayabilirsiniz. Belki en zarif bir çözüm değil ama bir süre benim için çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.