Hi Yuri,

Evan was having a problem running the server using the run-server.sh
script, with the error below:
(Note that it works fine using ant run-server, due to that being
completely separate from the script)

Exception in thread "main" java.lang.NoClassDefFoundError:
com/typesafe/config/ConfigMergeable
        at org.waveprotocol.box.server.ServerMain.main(ServerMain.java:113)
Caused by: java.lang.ClassNotFoundException: com.typesafe.config.ConfigMergeable
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 1 more

It seems that we forgot to add the new jar's namespace to the list of
ones to include in the final jar during the 'dist-server' build step.

The one-line patch below fixes this:

diff --git a/build.xml b/build.xml
index 1e721d4..d111325 100644
--- a/build.xml
+++ b/build.xml
@@ -686,6 +686,7 @@
         <include name="com/mongodb/**/*" />
         <include name="org/slf4j/**/*" />
  <include name="org/atmosphere/**/*" />
+        <include name="com/typesafe/**/*" />
         <include name="com/google/common/**/*" />
         <include name="com/google/gson/**/*" />
         <include name="com/google/gxp/**/*" />

Are you happy for me to just commit this?
(Should probably also fix the whitespace issue on the line above about
atmosphere).

[Aside: Why do we even have both the run-server.sh script and the
ability to run the server from the ant tool? Should we pick one and
stick to it? (My vote goes to the script, so that when distributed as
a binary the production server doesn't need to have ant on it).]

Ali

Reply via email to