我正在使用带有Clojure的java库。 java库只需要在编译时创建一个对象。当通过uberjar(使用leiningen创建)部署应用程序时,如果没有错误,则无法正确创建此配置对象。
我可以通过宏在编译时创建对象。问题是它不是Serializable。当应用程序通过uberjar运行时,如何将此对象提供给jvm?将对象放入原子并不起作用,因为原子在加载时/运行时被重置为运行jar的新jvm实例。编译时jvm需要一种方法将此对象放入其中一个已编译的类中。 (gen-class)似乎没有用,因为它只能在运行时通过初始化器初始化状态。