rufuspollock-okfn / reconcile-csv

A simple OpenRefine reconciliation service that runs on top of a CSV file
BSD 2-Clause "Simplified" License
117 stars 28 forks source link

reconcile-csv fails to launch #2

Closed ganong123 closed 10 years ago

ganong123 commented 10 years ago

Hi,

The reconciliation server doesn't launch. I've pasted below the error code.

Any ideas on how to fix this?

Thanks, Peter

Macintosh-58: ganong$ java "reconcile-csv-0.1.1.jar" "out/cstatLocal.csv" name id

Exception in thread "main" java.lang.NoClassDefFoundError: reconcile-csv-0/1/1/jar Caused by: java.lang.ClassNotFoundException: reconcile-csv-0.1.1.jar at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

rossjones commented 10 years ago

I think you normally launch jar files with java -jar

Try java -jar reconcile-csv-0.1.1.jar out/cstatLocal.csv name id

ganong123 commented 10 years ago

Thanks! What a newbie error. Now the code seems to run for a bit longer, followed by spitting out

Macintosh-58: ganong$ java -jar "reconcile-csv-0.1.1.jar" "out/cstatLocal.csv" name id Exception in thread "main" java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:249) at clojure.lang.RT.loadClassForName(RT.java:2098) at clojure.lang.RT.load(RT.java:430) at clojure.lang.RT.load(RT.java:411) at clojure.core$load$fn__5018.invoke(core.clj:5530) at clojure.core$load.doInvoke(core.clj:5529) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.lang.Var.invoke(Var.java:415) at reconcile_csv.core.<clinit>(Unknown Source) Caused by: java.net.BindException: Address already in use at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.socketBind(PlainSocketImpl.java:521) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:414) at java.net.ServerSocket.bind(ServerSocket.java:326) at java.net.ServerSocket.<init>(ServerSocket.java:192) at clojure.tools.nrepl.server$start_server.doInvoke(server.clj:134) at clojure.lang.RestFn.invoke(RestFn.java:421) at reconcile_csv.core$fn__22.invoke(core.clj:15) at reconcile_csv.core__init.load(Unknown Source) at reconcile_csv.core__init.<clinit>(Unknown Source) ... 10 more

rossjones commented 10 years ago

Gotta love Java stack traces. The interesting bit is

Caused by: java.net.BindException: Address already in use

Looks like something is already listening on that port. See if you can find out what is listening on port 8000 and stop it.

ganong123 commented 10 years ago

Hi Ross,

Thanks for your incredibly quick responses -- I really appreciate your help!

For future users dealing with this issue, I ran sudo lsof -i -P | grep -i "listen" in Terminal and it listed all the ports in use. 8000 wasn't listed as being in use. However, I rebooted and then everything worked fine, so I am closing out this thread. I've successfully run a test reconciliation in OpenRefine now!

Thanks again for your help,

Peter