Я работаю над расширением для веб-платформы Apache Wicket, которая позволяет пользователю выполнять код на нескольких языках программирования во время выполнения из браузера.Одним из этих языков является Scala, но у меня возникают проблемы, когда он упакован в файл WAR и развернут в контейнере, таком как Tomcat.
Когда вызывается интерпретатор Scala, он отказывается запускать код сследующее сообщение:
Failed to initialize compiler: object scala not found.
** Note that as of 2.8 scala does not assume use of the java classpath.
** For the old behavior pass -usejavacp to scala, or if using a Settings
** object programatically, settings.usejavacp.value = true.
После настройки usejavacp в настройках Scala он все равно не работает в управляемой среде.Похоже, проблема в том, что интерпретатор Scala не может найти jar-файлы библиотеки Scala на пути к классам Java.
При поиске в Интернете я нашел предложение , в котором предлагается использовать два ресурса classpath с именами «boot.class.path» и «app.class.path», которые должны включатьнужны объявления classpath.Я попробовал это, и это, казалось, сработало.Моя проблема с этим решением, тем не менее, заключается в том, что мое расширение предназначено для объединения в WAR-файл и его запуска в разных средах, поэтому пользователю необходимо изменить эти ресурсы в соответствии со средой, в которой он работает.Также было бы много работы, чтобы включить в файл путь к каждой банке.
Возможно, я не до конца понимаю предложение.Кто-нибудь знает решение для этого?