On Jan 2, 2015 12:36 PM, "David James" <davidcja...@gmail.com> wrote:
I have a problem when compiling while using gen-class with static initializers. I use gen-class to extend a JavaFX 8 class, javafx.scene.control.Control. During compilation, a static initializer is run, raising an exception saying that the JavaFX toolkit has not been initialized. I'm going to share what I've read, since this issue seems to pop up from time to time, and see if there are better solutions than currently posted online. Here are my questions and comments: - Is there a way to run code during compilation that fires before the static initializers? I could use this as a workaround to initialize the toolkit. - Is there a way to stop the static initializers from being run? This would solve the problem. - More broadly, is is necessary for gen-class to run the static initializers during compilation? I recently read over CLJ-1315: "Problem: When classes are imported in Clojure, the class is loaded using Class.forName(), which causes its static initialisers to be executed. This differs from Java where compilation does not cause classes to be loaded." I wonder if a similar approach should be used with Clojure's gen-class. Related discussions: - JIRA: CLJ-1315 <http://dev.clojure.org/jira/browse/CLJ-1315> - Compilation question - why initialize classes when loading for compilation? <https://groups.google.com/forum/#!searchin/clojure/static$20initializers/clojure/Qd9KTKwqsOA/OigoOrcmoAkJ> - Stack Overflow: How can a static initializer be defined using gen-class <http://stackoverflow.com/questions/11783736/how-can-a-static-initializer-be-defined-using-gen-class> - Stack Overflow: Clojure can't import JavaFX classes with static initializers <http://stackoverflow.com/questions/23365409/clojure-cant-import-javafx-classes-with-static-initializers> Thanks, David just curious, have you tried using :init/:constructors in gen-class? -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.