Come faccio ad avere Scala per l'esecuzione come un servlet sotto Tomcat?
Domanda
Sto cercando di costruire un servlet base con scala, ma io non riesco a capire come farlo funzionare sotto Tomcat. Credo che la mia classe Scala è a posto, e ho incluso tutte le librerie in scala-2.6.x-finale-blah.tgz al mio gatto directory lib, ma ho ancora la, errore generico strano sotto.
Qualcuno può dirmi che cosa sta succedendo?
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
Soluzione
Alcuni sleuthing ha rivelato che la directory lib vero gatto era in / usr / share, non / var / lib. Ho aggiunto la libreria in / usr / share e collegato simbolicamente a / var / lib, e ora tutto funziona! Inoltre, l'unica biblioteca scala necessaria per l'esecuzione con Tomcat è scala-library.jar, il runtime scala.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow