2009-09-26 4 views
4

Я пытаюсь создать базовый сервлет с scala, но я не могу понять, как заставить его работать под tomcat. Я думаю, что мой класс scala в порядке, и я включил все библиотеки liba в scala-2.6.x-final-blah.tgz в мой каталог tomcat lib, но я по-прежнему получаю нечетную общую ошибку ниже.Как заставить Scala запускать сервлет под Tomcat?

Может ли кто-нибудь сказать мне, что происходит?

javax.servlet.ServletException: Error allocating a servlet instance 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
    java.lang.Thread.run(Thread.java:636) 


root cause 
java.lang.NoClassDefFoundError: scala/ScalaObject 
+0

Где вы нашли инструкцию для включения «всех библиотек в scala-2.6.x-final-blah.tgz» в каталог tomcat lib? Ваше единственное место, которое я заметил, это было именно то, что мне нужно было сделать. (Для пользователей, не относящихся к Unix, вы можете получить libs для других платформ с http://www.scala-lang.org/downloads). – SmileAndNod

ответ

4

Некоторые слежки показали, что реальный кот Lib каталог был в/USR/доли, а не/вар/Lib. Я добавил библиотеку в/usr/share и связал ее с/var/lib, и теперь все работает! Кроме того, единственной библиотекой scala, которая требуется для запуска под tomcat, является scala-library.jar, время выполнения scala.