简体   繁体   中英

Build jar with tess4j

I create project in Intellij Idea, add tess4j 2.0 from maven, write test application. When I start debug all works fine. When I click "build artifacts" and launch jar file I haven't any result, no errors, nothing.

public class MainApp {
static String fileName = "C:\\Users\\Alex\\Google Drive\\TW\\LIB\\Tess4J\\eurotext.png";

public static void main(String[] args) {
    try {
        System.setOut(new PrintStream(new File("output-file.txt")));
    } catch (Exception e) {
        e.printStackTrace();
    }
    System.out.println("Start");
    ITesseract instance = new Tesseract1(); // JNA Direct Mapping

    try {
        String result = instance.doOCR(new File(fileName));
        System.out.println(result);
    } catch (TesseractException e) {
        System.out.println("Error");
        System.out.println(e.getMessage());
        e.printStackTrace();
    }
    System.out.println("End");
}
}

Output when debug

Start

The (quick) [brown] {fox} jumps!

Over the $43,456.78 #90 dog

& duck/goose, as 12.5% of E-mail.........

End

Output when launch jar

Start

No "Error", no "End". How it's possible?

I had the same issue. Sometimes it doesn't load classes correctly for some reason. here's how i was able to get it fixed for some far.

  1. Build your artifact and then Remote debug your jar with intellij.

  2. Find out in which line your application breaks.

  3. Then wrap it with try{... line where application breaks..} catch(Error e){e.getMessage(); } try{... line where application breaks..} catch(Error e){e.getMessage(); }
  4. You can see the error message in variable "e" in debug output. So you can determine the issue.

May be this is not an appropriate way to do it. But this is how i was able to track down the errors in my jar file.
How ever it is best to use this as a temporary way to track the errors in your jar and to find out why it breaks and then find out correct way (Which is i'm not currently aware about.. but however got to heard about some library called One-Jar ) to build jar without getting any errors on deployment.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM