首页 > 解决方案 > 如何将此项目作为 jar 文件运行?

问题描述

你能从这个项目中创建一个没有初始化错误的 jar 文件吗?

项目在这里。 https://github.com/piersy/BasicTesseractExample

我尝试使用 jarsplice 将项目 jar 与 tesseract & javacpp jar 拼接起来,在命令提示符下运行 jar 时出现此初始化程序错误。我不知道是否需要 jarsplice,但这是我的努力。

C:\Users\user\Desktop\JavaWorkspace>java -jar fatOCR.jar Exception in thread "main" java.lang.ExceptionInInitializerError
        at BasicTesseractExampleTest.givenTessBaseApi_whenImageOcrd_thenTextDisplayed(BasicTesseractExampleTest.java:14)
        at runOCR.main(runOCR.java:7) Caused by: java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
        at java.base/sun.reflect.annotation.AnnotationParser.parseClassArray(Unknown Source)
        at java.base/sun.reflect.annotation.AnnotationParser.parseArray(Unknown Source)
        at java.base/sun.reflect.annotation.AnnotationParser.parseMemberValue(Unknown Source)
        at java.base/sun.reflect.annotation.AnnotationParser.parseAnnotation2(Unknown Source)
        at java.base/sun.reflect.annotation.AnnotationParser.parseAnnotations2(Unknown Source)
        at java.base/sun.reflect.annotation.AnnotationParser.parseAnnotations(Unknown Source)
        at java.base/java.lang.Class.createAnnotationData(Unknown Source)
        at java.base/java.lang.Class.annotationData(Unknown Source)
        at java.base/java.lang.Class.createAnnotationData(Unknown Source)
        at java.base/java.lang.Class.annotationData(Unknown Source)
        at java.base/java.lang.Class.getAnnotation(Unknown Source)
        at java.base/java.lang.reflect.AnnotatedElement.isAnnotationPresent(Unknown Source)
        at java.base/java.lang.Class.isAnnotationPresent(Unknown Source)
        at org.bytedeco.javacpp.ClassProperties.load(ClassProperties.java:128)
        at org.bytedeco.javacpp.Loader.loadProperties(Loader.java:203)
        at org.bytedeco.javacpp.Loader.load(Loader.java:372)
        at org.bytedeco.javacpp.Loader.load(Loader.java:354)
        at org.bytedeco.javacpp.tesseract$TessBaseAPI.<clinit>(tesseract.java:3422)
        ... 2 more

标签: javajarjavacpp

解决方案


我不认为你可以运行这个项目,因为它只包含测试(在这种情况下是 1 个测试)并且不包含main方法。


推荐阅读