Discussion:
ClassNotFoundException: org.fressian.handlers.IWriteHandlerLookup from a HerokuPeer to an EC2 datomic-pro-0.9.5153
Priyatam
2015-05-18 23:00:07 UTC
Permalink
Deploying a ring-based service on Heroku that connects to a working EC2
transactor on AWS, using datomic-pro (starter) v0.9.5153 throws the
following exception on startup.


remote: Caused by: java.lang.ClassNotFoundException: org.fressian.
handlers.IWriteHandlerLookup
remote: at java.net.URLClassLoader.findClass(URLClassLoader.java:381
)
remote: at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
remote: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
331)
remote: at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
remote: at java.lang.Class.forName0(Native Method)
remote: at java.lang.Class.forName(Class.java:264)
remote: at datomic.db__init.__init5(Unknown Source)
remote: at datomic.db__init.<clinit>(Unknown Source)
remote: ... 92 more


Datomic-pro 0.9.5153 is being pulled from a private S3 wagon
<https://github.com/technomancy/s3-wagon-private> successfully.

Lein (v2.5.1) uberjar works fine on local and connects to my transactor
without any problem.

lein deps :tree shows the following dependencies, including fressian.core

[com.datomic/datomic-pro "0.9.5153" :exclusions [[joda-time]]]
[com.amazonaws/aws-java-sdk "1.8.11" :exclusions [[javax.mail/mail] [org.
apache.httpcomponents/httpclient] [commons-logging]]]
[com.amazonaws/aws-java-sdk-core "1.8.11"]
[com.fasterxml.jackson.core/jackson-annotations "2.1.1"]
[com.fasterxml.jackson.core/jackson-databind "2.1.1"]
[com.datomic/datomic-lucene-core "3.3.0"]
[com.google.guava/guava "18.0"]
[com.h2database/h2 "1.3.171"]
[net.spy/spymemcached "2.11.4"]
[org.apache.httpcomponents/httpclient "4.2" :exclusions [[commons-logging
]]]
[org.apache.httpcomponents/httpcore "4.2"]
[org.apache.tomcat/tomcat-jdbc "7.0.27" :exclusions [[commons-logging]]]
[org.apache.tomcat/tomcat-juli "7.0.27"]
[org.clojure/tools.cli "0.2.2" :exclusions [[org.clojure/clojure]]]
[org.codehaus.janino/commons-compiler-jdk "2.6.1"]
[org.codehaus.janino/commons-compiler "2.6.1"]
[org.fressian/fressian "0.6.5"]
[org.hornetq/hornetq-server "2.3.17.Final"]
[io.netty/netty "3.6.7.Final"]
[org.hornetq/hornetq-commons "2.3.17.Final"]
[org.hornetq/hornetq-core-client "2.3.17.Final"]
[org.jgroups/jgroups "3.2.12.Final"]
[org.hornetq/hornetq-journal "2.3.17.Final"]
[org.jboss.logging/jboss-logging "3.1.0.GA"]
[org.slf4j/jcl-over-slf4j "1.7.7"]
[org.slf4j/jul-to-slf4j "1.7.7"]
[org.slf4j/log4j-over-slf4j "1.7.7" :scope "runtime"]


What am I missing?
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Gary Verhaegen
2015-05-19 14:43:22 UTC
Permalink
Is the provided lein deps result from heroku or your dev machine ? You can
use "heroku run lein deps :tree" (from your app folder) to run commands on
heroku within the environment of your app. This would eliminate any
confusion that could come from your local profiles.

Does your project.clj specify a leiningen version? Which version is heroku
using for your project?
Post by Priyatam
Deploying a ring-based service on Heroku that connects to a working EC2
transactor on AWS, using datomic-pro (starter) v0.9.5153 throws the
following exception on startup.
remote: Caused by: java.lang.ClassNotFoundException: org.fressian.
handlers.IWriteHandlerLookup
381)
remote: at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
remote: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.
java:331)
remote: at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
remote: at java.lang.Class.forName0(Native Method)
remote: at java.lang.Class.forName(Class.java:264)
remote: at datomic.db__init.__init5(Unknown Source)
remote: at datomic.db__init.<clinit>(Unknown Source)
remote: ... 92 more
Datomic-pro 0.9.5153 is being pulled from a private S3 wagon
<https://github.com/technomancy/s3-wagon-private> successfully.
Lein (v2.5.1) uberjar works fine on local and connects to my transactor
without any problem.
lein deps :tree shows the following dependencies, including fressian.core
[com.datomic/datomic-pro "0.9.5153" :exclusions [[joda-time]]]
[com.amazonaws/aws-java-sdk "1.8.11" :exclusions [[javax.mail/mail] [org.
apache.httpcomponents/httpclient] [commons-logging]]]
[com.amazonaws/aws-java-sdk-core "1.8.11"]
[com.fasterxml.jackson.core/jackson-annotations "2.1.1"]
[com.fasterxml.jackson.core/jackson-databind "2.1.1"]
[com.datomic/datomic-lucene-core "3.3.0"]
[com.google.guava/guava "18.0"]
[com.h2database/h2 "1.3.171"]
[net.spy/spymemcached "2.11.4"]
[org.apache.httpcomponents/httpclient "4.2" :exclusions [[commons-logging
]]]
[org.apache.httpcomponents/httpcore "4.2"]
[org.apache.tomcat/tomcat-jdbc "7.0.27" :exclusions [[commons-logging]]]
[org.apache.tomcat/tomcat-juli "7.0.27"]
[org.clojure/tools.cli "0.2.2" :exclusions [[org.clojure/clojure]]]
[org.codehaus.janino/commons-compiler-jdk "2.6.1"]
[org.codehaus.janino/commons-compiler "2.6.1"]
[org.fressian/fressian "0.6.5"]
[org.hornetq/hornetq-server "2.3.17.Final"]
[io.netty/netty "3.6.7.Final"]
[org.hornetq/hornetq-commons "2.3.17.Final"]
[org.hornetq/hornetq-core-client "2.3.17.Final"]
[org.jgroups/jgroups "3.2.12.Final"]
[org.hornetq/hornetq-journal "2.3.17.Final"]
[org.jboss.logging/jboss-logging "3.1.0.GA"]
[org.slf4j/jcl-over-slf4j "1.7.7"]
[org.slf4j/jul-to-slf4j "1.7.7"]
[org.slf4j/log4j-over-slf4j "1.7.7" :scope "runtime"]
What am I missing?
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Priyatam
2015-05-19 16:15:09 UTC
Permalink
The result is from my local machine. I can't run remote commands as `git
push heroku` fails for the error listed.

lein-min-version is 2.5.0.

The error occurs on both openjdk 1.7 and 1.8 (heroku). My local dev uses
oracle jdk 8.

Deps from my project.clj.

:dependencies [[org.clojure/clojure "1.6.0"]
[org.clojure/core.async "0.1.346.0-17112a-alpha"]
[org.clojure/tools.logging "0.3.1"]
[ring/ring-core "1.3.2"]
[ring/ring-defaults "0.1.5"]
[ring/ring-headers "0.1.3"]
[ring/ring-json "0.3.1"]
[fogus/ring-edn "0.2.0"]
[ring-cors "0.1.7"]
[compojure "1.3.4"]
[http-kit "2.1.18"]
[datomic/datomic-pro "0.2.1"
:exclusions [org.slf4j/slf4j-nop
org.slf4j/slf4j-log4j12]]
[ch.qos.logback/logback-classic "1.0.1"]
[prone "0.8.1"]
[environ "1.0.0"]]
Post by Gary Verhaegen
Is the provided lein deps result from heroku or your dev machine ? You can
use "heroku run lein deps :tree" (from your app folder) to run commands on
heroku within the environment of your app. This would eliminate any
confusion that could come from your local profiles.
Does your project.clj specify a leiningen version? Which version is heroku
using for your project?
Post by Priyatam
Deploying a ring-based service on Heroku that connects to a working EC2
transactor on AWS, using datomic-pro (starter) v0.9.5153 throws the
following exception on startup.
remote: Caused by: java.lang.ClassNotFoundException: org.fressian.
handlers.IWriteHandlerLookup
381)
remote: at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
remote: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.
java:331)
remote: at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
remote: at java.lang.Class.forName0(Native Method)
remote: at java.lang.Class.forName(Class.java:264)
remote: at datomic.db__init.__init5(Unknown Source)
remote: at datomic.db__init.<clinit>(Unknown Source)
remote: ... 92 more
Datomic-pro 0.9.5153 is being pulled from a private S3 wagon
<https://github.com/technomancy/s3-wagon-private> successfully.
Lein (v2.5.1) uberjar works fine on local and connects to my transactor
without any problem.
lein deps :tree shows the following dependencies, including fressian.core
[com.datomic/datomic-pro "0.9.5153" :exclusions [[joda-time]]]
[com.amazonaws/aws-java-sdk "1.8.11" :exclusions [[javax.mail/mail] [org
.apache.httpcomponents/httpclient] [commons-logging]]]
[com.amazonaws/aws-java-sdk-core "1.8.11"]
[com.fasterxml.jackson.core/jackson-annotations "2.1.1"]
[com.fasterxml.jackson.core/jackson-databind "2.1.1"]
[com.datomic/datomic-lucene-core "3.3.0"]
[com.google.guava/guava "18.0"]
[com.h2database/h2 "1.3.171"]
[net.spy/spymemcached "2.11.4"]
[org.apache.httpcomponents/httpclient "4.2" :exclusions [[commons-
logging]]]
[org.apache.httpcomponents/httpcore "4.2"]
[org.apache.tomcat/tomcat-jdbc "7.0.27" :exclusions [[commons-logging]]]
[org.apache.tomcat/tomcat-juli "7.0.27"]
[org.clojure/tools.cli "0.2.2" :exclusions [[org.clojure/clojure]]]
[org.codehaus.janino/commons-compiler-jdk "2.6.1"]
[org.codehaus.janino/commons-compiler "2.6.1"]
[org.fressian/fressian "0.6.5"]
[org.hornetq/hornetq-server "2.3.17.Final"]
[io.netty/netty "3.6.7.Final"]
[org.hornetq/hornetq-commons "2.3.17.Final"]
[org.hornetq/hornetq-core-client "2.3.17.Final"]
[org.jgroups/jgroups "3.2.12.Final"]
[org.hornetq/hornetq-journal "2.3.17.Final"]
[org.jboss.logging/jboss-logging "3.1.0.GA"]
[org.slf4j/jcl-over-slf4j "1.7.7"]
[org.slf4j/jul-to-slf4j "1.7.7"]
[org.slf4j/log4j-over-slf4j "1.7.7" :scope "runtime"]
What am I missing?
--
You received this message because you are subscribed to the Google Groups
"Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Priyatam
2015-05-19 16:22:22 UTC
Permalink
Correction: datomic dep is [com.datomic/datomic-pro "0.9.5153"]
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Dave Bryand
2015-12-10 06:23:37 UTC
Permalink
Did you ever figure this out, I'm getting hit by the same error with a
private Datomic pro repo.
Post by Priyatam
Correction: datomic dep is [com.datomic/datomic-pro "0.9.5153"]
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Conan Cook
2018-01-11 11:38:44 UTC
Permalink
In case anybody else encounters this problem, it's likely caused by having
installed the datomic peer library into a repo somewhere without using the
pom.xml file provided by cognitect - you need that properly installed in
your maven repo as well, as that's how all datomic's transitive
dependencies are resolved. Without it you're missing everything the
datomic peer library needs.
Post by Dave Bryand
Did you ever figure this out, I'm getting hit by the same error with a
private Datomic pro repo.
Post by Priyatam
Correction: datomic dep is [com.datomic/datomic-pro "0.9.5153"]
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...