当前位置: 首页 > 知识库问答 >
问题:

使用一个jar构建一个jar文件

翁烨霖
2023-03-14

我试图使用一个jar生成一个包含clojure jar文件和java类文件的jar文件:创建一个jar文件,用于从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

什么可能是错的?

共有1个答案

吴哲
2023-03-14

行李箱中的第168行和第342行。一个Jar的java类表明设置属性有问题。当单元测试失败时,就会出现此问题。我猜这与SourceForge One-Jar bug追踪器中的bug 3090800有关。

 类似资料:
  • 你知道我该怎么做吗?

  • 我正在使用SBT(在IntelliJ IDEA中)构建一个简单的Scala项目。 我想知道什么是最简单的方法来建立一个Uber JAR文件(又名胖JAR,超级JAR)。 我当前使用的是SBT,但当我将JAR文件提交到Apache Spark时,我得到以下错误: 线程“main”java.lang.SecurityException中的异常:清单主属性的签名文件摘要无效 或在编译期间出现此错误: j

  • 我正在尝试建立基于Maven的应用程序的jar文件。所以我不需要将外部jar库包含到我的构建中。我需要我的应用程序在运行时从本地maven存储库或从本地文件夹提供这种外部依赖,这些将包含这些外部库。我为此依赖项配置pom文件,如下所示: 并尝试使用前缀运行这个jar。我正在用这个答案。

  • 问题内容: 我有一个jar文件,它在html文件中用作applet。我想修改jar文件的内容并重建jar文件,以便html与新的jar文件配合使用。我怎样才能做到这一点?? 我已经尝试使用7zip解压缩,并修改了源代码并创建了新的jar。但是当我在html中使用它时会显示一些java.lang.Classnotfound错误 问题答案: 您可以根据需要解压缩或重新解压缩类和源文件。 解开 罐 ht

  • 这是我的com.loloof64.kotlin.exps.multiDeclarations.kt 当我从终端(java-jar myjar.jar)启动jar时,我得到以下stacktrace,告诉我kotlin反射库类丢失了,而且实际上它们还没有添加到jar中。我似乎错过了最终jar中的kotlin-compiler工件类,也错过了kotlin-stdlib源代码,但我不知道如何适应gradl

  • HTSJDK是一个用于访问常见文件格式(如SAM和VCF)的库。我想构建HTSJDK JAR。在文档页面中说我必须为此使用Ant。所以我安装了Ant并运行以下命令: ant htsjdk-jar [javac]用法:javac [javac]use-help获取可能选项列表 生成失败 build.xml文件有问题。这里是文件的开头: 拜托,有人能告诉我该怎么做才能解决这个问题吗?