This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-09-17
Channels
- # beginners (51)
- # boot (31)
- # cider (14)
- # clara (13)
- # cljs-dev (15)
- # cljsjs (2)
- # cljsrn (53)
- # clojure (18)
- # clojure-dusseldorf (1)
- # clojure-russia (4)
- # clojure-uk (9)
- # clojurescript (53)
- # cursive (3)
- # datomic (5)
- # docs (1)
- # figwheel (2)
- # fulcro (42)
- # hoplon (3)
- # lein-figwheel (3)
- # leiningen (53)
- # off-topic (1)
- # om (4)
- # re-frame (11)
- # shadow-cljs (8)
This must be something very simple about classpaths etc that I am not grasping. The Operation is defined as:
The erro I am getting is: ClassNotFoundException Thing java.net.URLClassLoader.findClass (URLClassLoader.java:381) - I am trying to isolate the issue into a simple set of files - hence the reference to Thing rather than Operation
@mmer I don’t see enough information here to be able to see what the problem coulud be
the class not found’s name is AssemblyOperation
which you don’t even refer to in the rule debug-rules
However, if classes are missing, I’d make sure you are appropriately requiring all necessary namespaces, including those that define types via things like defrecord
Hi @mikerod - in trying to get a simple example out I have confused you all. Sorry. I now have a very simple project which is showing the issue.
ClassNotFoundException Thing java.net.URLClassLoader.findClass (URLClassLoader.java:381)
Everything to my eyes looks OK and follows the scheme of project layout that avoids cyclical dependencies, yet I can't get the reference to the rule to see the record defined in the shared files.
@mmer when defining types via defrecord
(and similarly, deftype
), a :refer
from a :require
does not import the class name to be used shorthand.
So you need to refer to the class either by it’s fully qualified name, or add something like
(:import [rules.shared Thing])
to your rules namespaces using the class