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.

Reply via email to