Working with Vaadin, Jetty, Scala and Eclipse, I’ve seen intermittent deployment failures in which the web application would fail with a 500 error and

Problem accessing /HomepageDashboard/. Reason:

scala/ScalaObject
Caused by:

java.lang.NoClassDefFoundError: scala/ScalaObject

The problem is that the scala library files are not being copied correctly into the WEB-INFO/lib directory. This omission can be verified by looking into the war file:

jar tvf HomepageDashboard.war

for the content the WEB-INFO/lib directory.

Some suggested fixes, such as checking the scala library in the project’s “Java EE Modules Dependencies” have not worked consistently for me. Instead, the simple solution is to just manually copy the files where they need to go. The files are found inside the Scala distribution jar. Just extract and copy the needed files:

jar xvf scala.library_2.7.7.final.jar
cp lib/scala-dbc.jar lib/scala-library.jar lib/scala-swing.jar WebContent/WEB-INF/lib/

When the eclipse plugin deploys correctly, it copies all three. You probably only need the scala-library.jar.

Bookmark and Share

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>