我正在尝试使用one-jar生成一个包含clojure jar文件和java类文件的jar文件:Creating one jar file that for execution from Java/Clojure
关注the instruction,我可以使用one-jar-appgen-0.97.jar
生成目录。按照指示,我替换了java源代码,并添加了ThingOne-1.0.0-SNAPSHOT-standalone.jar
运行ant
,它构建jar文件时没有错误,但是当我尝试执行jar文件时收到错误消息。
java -jar build/test-one-jar.jar
test_one_jar main entry point, args=[]
Hello from Java!
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.simontuffs.onejar.Boot.run(Boot.java:342)
at com.simontuffs.onejar.Boot.main(Boot.java:168)
Caused by: java.lang.ExceptionInInitializerError
at clojure.lang.Namespace.<init>(Namespace.java:34)
at clojure.lang.Namespace.findOrCreate(Namespace.java:176)
at clojure.lang.Var.internPrivate(Var.java:149)
at ThingOne.core.<clinit>(Unknown Source)
at onejar.main.TestOneJarMain.run(TestOneJarMain.java:27)
at onejar.main.TestOneJarMain.main(TestOneJarMain.java:20)
... 6 more
Caused by: java.lang.NullPointerException
at clojure.lang.RT.lastModified(RT.java:374)
at clojure.lang.RT.load(RT.java:408)
at clojure.lang.RT.load(RT.java:398)
at clojure.lang.RT.doInit(RT.java:434)
at clojure.lang.RT.<clinit>(RT.java:316)
... 12 more
可能出现什么问题?
答案 0 :(得分:0)
One-Jar的Boot.java类中的第168和342行表示设置属性有问题。单元测试失败时会发生此问题。我的猜测是它与bug 3090800 in the SourceForge One-Jar Bug Tracker有关。