2015-07-11 47 views
0

我在Intellij Idea中創建項目,從maven添加tess4j 2.0,編寫測試應用程序。當我開始調試所有工作正常。當我點擊「構建工件」並啓動jar文件時,我沒有任何結果,沒有錯誤,沒有任何結果。用tess4j構建jar

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"); 
} 
} 

輸出調試啓動

時(快速)[棕色] {}狐跳!

在$ 43,456.78#90狗

&鴨/鵝,作爲電子郵件的12.5%.........

輸出時推出罐子

開始

沒有「錯誤」,沒有「結束」。怎麼可能?

回答

0

我有同樣的問題。有時由於某種原因,它不會正確加載類。這裏是我如何能夠將它修復一些。

  1. 建立你的神器,然後遠程調試你用的IntelliJ罐子。

  2. 找出您的應用程序在哪一行中斷。

  3. 然後用try{... line where application breaks..} catch(Error e){e.getMessage(); }
  4. 打包它可以在調試輸出中看到變量「e」中的錯誤消息。所以你可以確定問題。

可能這不是一個合適的方法來做到這一點。但這是我能夠追蹤我的jar文件中的錯誤。
如何最好使用這個作爲一個臨時的方式來跟蹤你的jar中的錯誤,並找出它爲什麼會中斷,然後找出正確的方式(哪個是我目前不知道的..但是不管怎麼樣聽說過一些名爲One-Jar的庫)來構建jar,而不會在部署時發生任何錯誤。