Установить одобренный каталог в Tomcat6

Я хочу установить одобренный каталог для Tomcat6, чтобы он мог использовать определенные библиотеки вместо библиотек по умолчанию.

Итак, когда я запускаю это в автономном приложении:

System.out.println(System.getProperty("java.endorsed.dirs"));

Это печатает:

/usr/lib/jvm/jdk1.6.0_45/jre/lib/endorsed

Однако, когда я делаю это приложение, запущенное в Tomcat, оно печатает пустую строку.

Я пытался изменить tomcat6.confс этим (и перезапуском, конечно):

JAVA_OPTS = "-Djava.endorsed.dirs = / usr / share / tomcat6 / endorsed -Djavax.sql.DataSource.Factory = org.apache.commons.dbcp.BasicDataSourceFactory -Djava.awt.headless = true -Xms1024m -Xxx:PermSize=1024m -XX:MaxPermSize=1024m"

Но он все еще не знает этого свойства.

Итак, как я могу сказать Tomcat, где находится одобренный каталог?

2 ответа

Кажется, что установка этой опции в tomcat6.conf:

-Djava.endorsed.dirs=/usr/share/tomcat6/endorsed

недостаточно. Требуется создать переменную с именем JAVA_ENDORSED_DIRS. Итак, эти две строки нужны в tomcat6.conf:

JAVA_ENDORSED_DIRS="/usr/share/tomcat6/endorsed"
JAVA_OPTS="-Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS [-Djava....]"

Думаю, не очень хорошо задокументированная проблема.

Для Tomcat 6 см. https://tomcat.apache.org/tomcat-6.0-doc/RUNNING.txt

В Ubuntu сценарий запуска в /etc/init.d/tomcat8 будет ссылаться на конфигурацию в /etc/default/tomcat8, в которой есть JAVA_OPTS, вы можете добавить к нему (он использует конфигурацию env по умолчанию для создания полной JAVA_OPTS, поэтому сделайте уверен, что вы случайно не замените их).

Другие вопросы по тегам