Куда мне ставить внешние библиотеки tomcat?
Я пытаюсь запустить приложения Scala под tomcat, и всякий раз, когда я использую стандартные Java-вещи, я выгляжу нормально. Однако, когда я делаю такие вещи, как конкатенация строк или генерация последовательности, я получаю странные ошибки для NoClassDefFound...
Вначале я думаю, что я не помещаю требуемый jar-файл scala-библиотеки в правильные каталоги, или мне нужно выполнить некоторую дополнительную настройку, чтобы мой сервлет знал о внешней зависимости. Я попытался поместить файл scala-library.jar в каталог "lib" tomcat6 и в каталог ROOT/WEB-INF/lib, но ни один из них не позволяет моим сервлетам использовать классы в jar. В чем дело?
2 ответа
Убедитесь, что ваша переменная среды CLASSPATH содержит путь к файлу scala-library.jar, прежде чем вы запустите tomcat.
Если вы поместите scala-library.jar в каталог JRE/lib/ext, это должно сработать. Это, конечно, JRE, на котором работает Tomcat. Это помещает scala в "загрузчик классов по умолчанию", а не в загрузчик классов Tomcats... и теоретически должен решить вашу проблему. По сути, это то же самое, что и ответ Тома О'Коннорса, за исключением того, что я говорю вам, почему вы получили ошибку класса not found: из-за пользовательского загрузчика классов.