I have been struggling for the last couple of days trying to deploy a test Clojure application to Google App Engine, with helpful prods from @perezd. I am using appengine-magic. The HEAD is broken, and the stable 0.5.0 branch has old dependencies. I fixed up some of the breakage in appengine-magic HEAD, coming up with the same solution as this unpulled pull request. Still, that didn’t quite do it.
lein appengine-prepare was building a jar which lacked the needed Clojure language dependencies, so when uploaded to App Engine, the app page would just give a 500 error.
lein uberjar would build a jar file including those dependencies, so I used that and followed the key steps in
appengine_prepare.clj to put the jar in the right place.
Here’s how I finally got it to work:
Add the following to the
:aot [foobar.core, foobar.app_servlet]
Build, prepare and deploy with:
mv target/foobar-0.1.0-SNAPSHOT-standalone.jar war/WEB-INF/lib/
appcfg.sh --enable_jar_splitting --oauth2 update war