1

我正在尝试使用 one-jar 生成一个包含 clojure jar 文件和 java 类文件的 jar 文件:Creating one-jar file that for execution from Java/Clojure

按照说明,我可以使用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

可能有什么问题?

4

1 回答 1

0

One-Jar 的 Boot.java 类中的第 168 和 342 行表示设置属性有问题。当单元测试失败时会发生此问题。我的猜测是它与SourceForge One-Jar Bug Tracker 中的错误 3090800有关。

于 2013-03-28T07:03:01.777 回答