Tomcat

2011-08-19 24 views
6

'daki java onaylamalarını nasıl etkinleştirebilirim? Bahar web uygulamasındaki Java assert anahtar sözcüğünü temel olarak benim etki alanı sınıflarımda kullanmak istiyorum (yapıcılar içinde yapıcıları denetleme), ancak çalışma zamanı onaylama denetiminin nasıl etkinleştirileceğini göremiyorum. Normal bir java uygulama için Tomcat

, ben java komutuyla -ea anahtarı kullanmak istiyorsunuz, ama ben vb

bu önerilen bir şey midir, Tomcat ile yapabilirsiniz nasıl gittiğini görmek veya gerektiği yok Bahar çerçevesinden "Assert" sınıfını kullanın? Bununla birlikte, alan sınıflarımı Bahar bağımlılıklarından uzak tutmayı tercih ederim.

cevap

8

Tomcat için -ea'u JAVA_OPTS'a (tüm java işlemleri başladı) veya daha iyisi CATALINA_OPTS'a (yalnızca web uygulaması altyapısına) ekleyin.

JAVA_OPTS ve CATALINA_OPTS ile ilgili daha fazla bilgi için catalina.bat veya catalina.sh dosyalarını okuyun.

Düzenlendi: @Joachim

+0

bunun için teşekkür ederiz, acaba a) Eclipse (içinden) dev (VMware tc Sunucusu kullanıyorum yorumlarına sayesinde o 'var catalina.bat' ?, b) Sadece kendi web uygulamamdaki iddiaları etkinleştirmeyi tercih ederim ve c) VMWares CloudFoundry gibi bir şeyle bunu nasıl yapabilirim? Tekrar teşekkürler! –

+2

Daha ciddi bir notta: 'CATALINA_OPTS' burada daha uygun bir nokta olacaktır. Aradaki fark, "JAVA_OPTS" ın, Tomcat başlangıç ​​komut dosyalarından ("çalışan bir sunucuya bağlan ve bir tanesi kapatılmasını isteme" de dahil olmak üzere) tüm Java * işlemlerinde kullanılacağıdır. Burada CATALINA_OPTS, yalnızca aslında sunucuyu çalıştırıyor. Bu durumda fark çok önemli değil, ancak bellek gibi şeyler için doğru olanı kullanmak oldukça önemlidir (küçük kapatma komut dosyasının 4 GB bellek ayırmasını istemezsiniz). –

+0

@DecaniBass: Teknik olarak, her bir web-temeli esasına göre onaylamaların etkinleştirilmesi mümkün olmalıdır, çünkü ['ClassLoader.setDefaultAssertionStatus()'] (http://download.oracle.com/javase/7/docs/api/ java/lang/ClassLoader.html # setDefaultAssertionStatus (boolean)) ama ne yazık ki bilmiyorum * eğer * ve * nasıl * bu uygulamalar sunucuları bu seçeneği açığa çıkarıyor. –