Hi All, Has anyone had success running Akka Microkernel in Docker Container (using SBT-Native-Packager Docker)?
I am getting a ClassNotFoundException when the jars containing the class are in the class path etc. Below is the stack trace and the starting script. UserCreated is in contracts-0.1-SNAPSHOT.jar A3BackendApp is in a3-write-back-0.1-SNAPSHOT.jar I see this previous thread: https://groups.google.com/forum/#!topic/akka-user/HFFTYcdDvMs And guess it may be something to do with reflection but I don't understand. Using Java 8 container. Any suggestions most appreciated. Cheers, Ashley. -- Starting Akka... Running Akka 2.3.8 01/17 14:48:10 INFO [lt-dispatcher-4] a.e.s.Slf4jLogger Slf4jLogger started 01/17 14:48:10 DEBUG[lt-dispatcher-4] a.e.EventStream logger log1-Slf4jLogger started 01/17 14:48:10 DEBUG[lt-dispatcher-4] a.e.EventStream Default Loggers started Exception in thread "main" java.lang.ClassNotFoundException: com.hedventures.a3.user.UserCreated at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:344) at akka.actor.ReflectiveDynamicAccess$$anonfun$getClassFor$1.apply(DynamicAccess.scala:67) at akka.actor.ReflectiveDynamicAccess$$anonfun$getClassFor$1.apply(DynamicAccess.scala:66) at scala.util.Try$.apply(Try.scala:191) at akka.actor.ReflectiveDynamicAccess.getClassFor(DynamicAccess.scala:66) at akka.serialization.Serialization$$anonfun$6.apply(Serialization.scala:181) at akka.serialization.Serialization$$anonfun$6.apply(Serialization.scala:181) at scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply(TraversableLike.scala:728) at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:221) at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:428) at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:727) at akka.serialization.Serialization.<init>(Serialization.scala:181) at akka.serialization.SerializationExtension$.createExtension(SerializationExtension.scala:15) at akka.serialization.SerializationExtension$.createExtension(SerializationExtension.scala:12) at akka.actor.ActorSystemImpl.registerExtension(ActorSystem.scala:712) at akka.actor.ExtensionId$class.apply(Extension.scala:79) at akka.serialization.SerializationExtension$.apply(SerializationExtension.scala:12) at akka.remote.RemoteActorRefProvider.init(RemoteActorRefProvider.scala:175) at akka.cluster.ClusterActorRefProvider.init(ClusterActorRefProvider.scala:58) at akka.actor.ActorSystemImpl.liftedTree2$1(ActorSystem.scala:619) at akka.actor.ActorSystemImpl._start$lzycompute(ActorSystem.scala:616) at akka.actor.ActorSystemImpl._start(ActorSystem.scala:616) at akka.actor.ActorSystemImpl.start(ActorSystem.scala:633) at akka.actor.ActorSystem$.apply(ActorSystem.scala:142) at akka.actor.ActorSystem$.apply(ActorSystem.scala:119) at com.hedventures.a3.app.A3BackendApp.<init>(A3BackendApp.scala:27) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at java.lang.Class.newInstance(Class.java:438) at akka.kernel.Main$$anonfun$1.apply(Main.scala:82) at akka.kernel.Main$$anonfun$1.apply(Main.scala:82) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) at scala.collection.Iterator$class.foreach(Iterator.scala:743) at scala.collection.AbstractIterator.foreach(Iterator.scala:1195) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableLike$class.map(TraversableLike.scala:245) at scala.collection.AbstractTraversable.map(Traversable.scala:104) at akka.kernel.Main$.main(Main.scala:82) at akka.kernel.Main.main(Main.scala) 01/17 14:48:11 DEBUG[lt-dispatcher-2] a.e.EventStream shutting down: StandardOutLogger started -- #!/usr/bin/env bash declare AKKA_HOME="$(cd "$(cd "$(dirname "$0")"; pwd -P)"/..; pwd)" echo "AKKA_HOME=" $AKKA_HOME declare -r app_home="$0" echo "app_home=" $app_home declare -r lib_dir="${AKKA_HOME}/lib" declare -r app_mainclass="com.hedventures.a3.app.A3BackendApp" declare -r app_classpath="$lib_dir/com.hedventures.a3-contracts-0.1-SNAPSHOT.jar:$lib_dir/com.hedventures.a3-write-back-0.1-SNAPSHOT.jar:$lib_dir/org.scala-lang.scala-library-2.11.4.jar:$lib_dir/com.github.nscala-time.nscala-time_2.11-1.4.0.jar:$lib_dir/joda-time.joda-time-2.4.jar:$lib_dir/com.typesafe.scala-logging.scala-logging_2.11-3.1.0.jar:$lib_dir/org.scala-lang.scala-reflect-2.11.1.jar:$lib_dir/org.slf4j.slf4j-api-1.7.7.jar:$lib_dir/ch.qos.logback.logback-classic-1.1.2.jar:$lib_dir/ch.qos.logback.logback-core-1.1.2.jar:$lib_dir/pl.newicom.dddd.akka-ddd-messaging_2.11-1.0.0-SNAPSHOT.jar:$lib_dir/com.typesafe.akka.akka-actor_2.11-2.3.8.jar:$lib_dir/com.typesafe.akka.akka-actor_2.11-2.3.8-sources.jar:$lib_dir/com.typesafe.config-1.2.1.jar:$lib_dir/org.json4s.json4s-native_2.11-3.2.11.jar:$lib_dir/org.json4s.json4s-core_2.11-3.2.11.jar:$lib_dir/org.json4s.json4s-ast_2.11-3.2.11.jar:$lib_dir/com.thoughtworks.paranamer.paranamer-2.6.jar:$lib_dir/org.scala-lang.scalap-2.11.0.jar:$lib_dir/org.scala-lang.scala-compiler-2.11.0.jar:$lib_dir/org.scala-lang.modules.scala-xml_2.11-1.0.1.jar:$lib_dir/org.scala-lang.modules.scala-parser-combinators_2.11-1.0.1.jar:$lib_dir/org.json4s.json4s-ext_2.11-3.2.11.jar:$lib_dir/org.joda.joda-convert-1.6.jar:$lib_dir/com.lambdaworks.scrypt-1.4.0.jar:$lib_dir/com.typesafe.akka.akka-kernel_2.11-2.3.8.jar:$lib_dir/pl.newicom.dddd.akka-ddd-core_2.11-1.0.0-SNAPSHOT.jar:$lib_dir/com.typesafe.akka.akka-contrib_2.11-2.3.8-sources.jar:$lib_dir/com.typesafe.akka.akka-contrib_2.11-2.3.8.jar:$lib_dir/com.typesafe.akka.akka-remote_2.11-2.3.8.jar:$lib_dir/io.netty.netty-3.8.0.Final.jar:$lib_dir/com.google.protobuf.protobuf-java-2.5.0.jar:$lib_dir/org.uncommons.maths.uncommons-maths-1.2.2a.jar:$lib_dir/com.typesafe.akka.akka-cluster_2.11-2.3.8.jar:$lib_dir/com.typesafe.akka.akka-persistence-experimental_2.11-2.3.8.jar:$lib_dir/com.typesafe.akka.akka-persistence-experimental_2.11-2.3.8-sources.jar:$lib_dir/org.iq80.leveldb.leveldb-0.5.jar:$lib_dir/org.iq80.leveldb.leveldb-api-0.5.jar:$lib_dir/com.google.guava.guava-12.0.jar:$lib_dir/com.google.code.findbugs.jsr305-1.3.9.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-all-1.7.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-1.7.jar:$lib_dir/org.fusesource.hawtjni.hawtjni-runtime-1.8.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-osx-1.5.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-linux32-1.5.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-linux64-1.5.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-win32-1.5.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-win64-1.5.jar:$lib_dir/com.typesafe.akka.akka-slf4j_2.11-2.3.8-sources.jar:$lib_dir/com.typesafe.akka.akka-slf4j_2.11-2.3.8.jar:$lib_dir/pl.newicom.dddd.eventstore-akka-persistence_2.11-1.0.0-SNAPSHOT.jar:$lib_dir/com.geteventstore.eventstore-client_2.11-1.0.1.jar:$lib_dir/org.apache.directory.studio.org.apache.commons.codec-1.8.jar:$lib_dir/commons-codec.commons-codec-1.8.jar:$lib_dir/com.geteventstore.akka-persistence-eventstore_2.11-1.1.2-SNAPSHOT.jar:$lib_dir/com.hedventures.monitoring_2.11-0.1-SNAPSHOT.jar:$lib_dir/com.hedventures.event-store_2.11-0.1-SNAPSHOT.jar" #declare -r app_classpath="$lib_dir/com.hedventures.a3-write-back-0.1-SNAPSHOT.jar:$lib_dir/com.hedventures.a3-contracts-0.1-SNAPSHOT.jar:$lib_dir/org.scala-lang.scala-library-2.11.4.jar:$lib_dir/com.github.nscala-time.nscala-time_2.11-1.4.0.jar:$lib_dir/joda-time.joda-time-2.4.jar:$lib_dir/com.typesafe.scala-logging.scala-logging_2.11-3.1.0.jar:$lib_dir/org.scala-lang.scala-reflect-2.11.1.jar:$lib_dir/org.slf4j.slf4j-api-1.7.7.jar:$lib_dir/ch.qos.logback.logback-classic-1.1.2.jar:$lib_dir/ch.qos.logback.logback-core-1.1.2.jar:$lib_dir/pl.newicom.dddd.akka-ddd-messaging_2.11-1.0.0-SNAPSHOT.jar:$lib_dir/com.typesafe.akka.akka-actor_2.11-2.3.8.jar:$lib_dir/com.typesafe.akka.akka-actor_2.11-2.3.8-sources.jar:$lib_dir/com.typesafe.config-1.2.1.jar:$lib_dir/org.json4s.json4s-native_2.11-3.2.11.jar:$lib_dir/org.json4s.json4s-core_2.11-3.2.11.jar:$lib_dir/org.json4s.json4s-ast_2.11-3.2.11.jar:$lib_dir/com.thoughtworks.paranamer.paranamer-2.6.jar:$lib_dir/org.scala-lang.scalap-2.11.0.jar:$lib_dir/org.scala-lang.scala-compiler-2.11.0.jar:$lib_dir/org.scala-lang.modules.scala-xml_2.11-1.0.1.jar:$lib_dir/org.scala-lang.modules.scala-parser-combinators_2.11-1.0.1.jar:$lib_dir/org.json4s.json4s-ext_2.11-3.2.11.jar:$lib_dir/org.joda.joda-convert-1.6.jar:$lib_dir/com.lambdaworks.scrypt-1.4.0.jar:$lib_dir/com.typesafe.akka.akka-kernel_2.11-2.3.8.jar:$lib_dir/pl.newicom.dddd.akka-ddd-core_2.11-1.0.0-SNAPSHOT.jar:$lib_dir/com.typesafe.akka.akka-contrib_2.11-2.3.8-sources.jar:$lib_dir/com.typesafe.akka.akka-contrib_2.11-2.3.8.jar:$lib_dir/com.typesafe.akka.akka-remote_2.11-2.3.8.jar:$lib_dir/io.netty.netty-3.8.0.Final.jar:$lib_dir/com.google.protobuf.protobuf-java-2.5.0.jar:$lib_dir/org.uncommons.maths.uncommons-maths-1.2.2a.jar:$lib_dir/com.typesafe.akka.akka-cluster_2.11-2.3.8.jar:$lib_dir/com.typesafe.akka.akka-persistence-experimental_2.11-2.3.8.jar:$lib_dir/com.typesafe.akka.akka-persistence-experimental_2.11-2.3.8-sources.jar:$lib_dir/org.iq80.leveldb.leveldb-0.5.jar:$lib_dir/org.iq80.leveldb.leveldb-api-0.5.jar:$lib_dir/com.google.guava.guava-12.0.jar:$lib_dir/com.google.code.findbugs.jsr305-1.3.9.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-all-1.7.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-1.7.jar:$lib_dir/org.fusesource.hawtjni.hawtjni-runtime-1.8.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-osx-1.5.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-linux32-1.5.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-linux64-1.5.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-win32-1.5.jar:$lib_dir/org.fusesource.leveldbjni.leveldbjni-win64-1.5.jar:$lib_dir/com.typesafe.akka.akka-slf4j_2.11-2.3.8-sources.jar:$lib_dir/com.typesafe.akka.akka-slf4j_2.11-2.3.8.jar:$lib_dir/pl.newicom.dddd.eventstore-akka-persistence_2.11-1.0.0-SNAPSHOT.jar:$lib_dir/com.geteventstore.eventstore-client_2.11-1.0.1.jar:$lib_dir/org.apache.directory.studio.org.apache.commons.codec-1.8.jar:$lib_dir/commons-codec.commons-codec-1.8.jar:$lib_dir/com.geteventstore.akka-persistence-eventstore_2.11-1.1.2-SNAPSHOT.jar:$lib_dir/com.hedventures.monitoring_2.11-0.1-SNAPSHOT.jar:$lib_dir/com.hedventures.event-store_2.11-0.1-SNAPSHOT.jar" [ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xms1024M -Xmx1024M -Xss1M -XX:MaxPermSize=256M -XX:+UseParallelGC" # we will use akka_classpath instead the app_classpath [ -n "$akka_classpath" ] || akka_classpath="$AKKA_HOME/lib/*:$AKKA_HOME/conf" echo $app_classpath echo $app_mainclass #java $JAVA_OPTS -cp "$akka_classpath" -Dakka.home="$AKKA_HOME" -Dakka.kernel.quiet=false akka.kernel.Main $app_mainclass java $JAVA_OPTS -cp "$app_classpath" -Dakka.home="$AKKA_HOME" -Dakka.kernel.quiet=false akka.kernel.Main $app_mainclass -- And the debug output from the script: bin/a3-write-back AKKA_HOME= /opt/docker app_home= bin/a3-write-back /opt/docker/lib/com.hedventures.a3-contracts-0.1-SNAPSHOT.jar:/opt/docker/lib/com.hedventures.a3-write-back-0.1-SNAPSHOT.jar:/opt/docker/lib/org.scala-lang.scala-library-2.11.4.jar:/opt/docker/lib/com.github.nscala-time.nscala-time_2.11-1.4.0.jar:/opt/docker/lib/joda-time.joda-time-2.4.jar:/opt/docker/lib/com.typesafe.scala-logging.scala-logging_2.11-3.1.0.jar:/opt/docker/lib/org.scala-lang.scala-reflect-2.11.1.jar:/opt/docker/lib/org.slf4j.slf4j-api-1.7.7.jar:/opt/docker/lib/ch.qos.logback.logback-classic-1.1.2.jar:/opt/docker/lib/ch.qos.logback.logback-core-1.1.2.jar:/opt/docker/lib/pl.newicom.dddd.akka-ddd-messaging_2.11-1.0.0-SNAPSHOT.jar:/opt/docker/lib/com.typesafe.akka.akka-actor_2.11-2.3.8.jar:/opt/docker/lib/com.typesafe.akka.akka-actor_2.11-2.3.8-sources.jar:/opt/docker/lib/com.typesafe.config-1.2.1.jar:/opt/docker/lib/org.json4s.json4s-native_2.11-3.2.11.jar:/opt/docker/lib/org.json4s.json4s-core_2.11-3.2.11.jar:/opt/docker/lib/org.json4s.json4s-ast_2.11-3.2.11.jar:/opt/docker/lib/com.thoughtworks.paranamer.paranamer-2.6.jar:/opt/docker/lib/org.scala-lang.scalap-2.11.0.jar:/opt/docker/lib/org.scala-lang.scala-compiler-2.11.0.jar:/opt/docker/lib/org.scala-lang.modules.scala-xml_2.11-1.0.1.jar:/opt/docker/lib/org.scala-lang.modules.scala-parser-combinators_2.11-1.0.1.jar:/opt/docker/lib/org.json4s.json4s-ext_2.11-3.2.11.jar:/opt/docker/lib/org.joda.joda-convert-1.6.jar:/opt/docker/lib/com.lambdaworks.scrypt-1.4.0.jar:/opt/docker/lib/com.typesafe.akka.akka-kernel_2.11-2.3.8.jar:/opt/docker/lib/pl.newicom.dddd.akka-ddd-core_2.11-1.0.0-SNAPSHOT.jar:/opt/docker/lib/com.typesafe.akka.akka-contrib_2.11-2.3.8-sources.jar:/opt/docker/lib/com.typesafe.akka.akka-contrib_2.11-2.3.8.jar:/opt/docker/lib/com.typesafe.akka.akka-remote_2.11-2.3.8.jar:/opt/docker/lib/io.netty.netty-3.8.0.Final.jar:/opt/docker/lib/com.google.protobuf.protobuf-java-2.5.0.jar:/opt/docker/lib/org.uncommons.maths.uncommons-maths-1.2.2a.jar:/opt/docker/lib/com.typesafe.akka.akka-cluster_2.11-2.3.8.jar:/opt/docker/lib/com.typesafe.akka.akka-persistence-experimental_2.11-2.3.8.jar:/opt/docker/lib/com.typesafe.akka.akka-persistence-experimental_2.11-2.3.8-sources.jar:/opt/docker/lib/org.iq80.leveldb.leveldb-0.5.jar:/opt/docker/lib/org.iq80.leveldb.leveldb-api-0.5.jar:/opt/docker/lib/com.google.guava.guava-12.0.jar:/opt/docker/lib/com.google.code.findbugs.jsr305-1.3.9.jar:/opt/docker/lib/org.fusesource.leveldbjni.leveldbjni-all-1.7.jar:/opt/docker/lib/org.fusesource.leveldbjni.leveldbjni-1.7.jar:/opt/docker/lib/org.fusesource.hawtjni.hawtjni-runtime-1.8.jar:/opt/docker/lib/org.fusesource.leveldbjni.leveldbjni-osx-1.5.jar:/opt/docker/lib/org.fusesource.leveldbjni.leveldbjni-linux32-1.5.jar:/opt/docker/lib/org.fusesource.leveldbjni.leveldbjni-linux64-1.5.jar:/opt/docker/lib/org.fusesource.leveldbjni.leveldbjni-win32-1.5.jar:/opt/docker/lib/org.fusesource.leveldbjni.leveldbjni-win64-1.5.jar:/opt/docker/lib/com.typesafe.akka.akka-slf4j_2.11-2.3.8-sources.jar:/opt/docker/lib/com.typesafe.akka.akka-slf4j_2.11-2.3.8.jar:/opt/docker/lib/pl.newicom.dddd.eventstore-akka-persistence_2.11-1.0.0-SNAPSHOT.jar:/opt/docker/lib/com.geteventstore.eventstore-client_2.11-1.0.1.jar:/opt/docker/lib/org.apache.directory.studio.org.apache.commons.codec-1.8.jar:/opt/docker/lib/commons-codec.commons-codec-1.8.jar:/opt/docker/lib/com.geteventstore.akka-persistence-eventstore_2.11-1.1.2-SNAPSHOT.jar:/opt/docker/lib/com.hedventures.monitoring_2.11-0.1-SNAPSHOT.jar:/opt/docker/lib/com.hedventures.event-store_2.11-0.1-SNAPSHOT.jar com.hedventures.a3.app.A3BackendApp -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
