2015-10-30 36 views
-1

我正在做一個OCR項目。 tess4j中的getInstance()已被棄用。即使出現錯誤,我也不能使用Tesseract.Tesseract()。我該如何解決這個問題?如何解決不推薦的Tess4j方法getInstance()?

代碼Tesseract.getInstance()

Code with Tesseract.getInstance()

代碼Tesseract.Tesseract()

[![與Tesseract.Tesseract(] [2]代碼)] [2]

這所顯示的內容當我在編譯程序後插入 Tesseract tess = new Tesseract(); enter image description here

+4

請添加實際的代碼而不是圖片 –

+0

我認爲他使用的圖像只是爲了直觀地顯示IDE在這種情況下如何報告錯誤和已棄用的方法。 –

回答

0

不推薦使用的方法仍可使用。 @Deprecated註釋僅僅意味着圖書館開發人員計劃在未來的版本中停止支持此方法(或將其從庫中移除)。

更確切地說,從@Deprecated documentation

A program element annotated @Deprecated is one that programmers are discouraged from using, typically because it is dangerous, or because a better alternative exists.

您可能要檢查這些了:

It is not a good practice, however, to use deprecated methods and classes,因爲它們可能會導致未來的錯誤和編譯問題在您的系統,如果被刪除的方法或類,並更新庫版本。


但是,在你的情況下,Tesseract()是一個類的構造函數。您在做出錯誤的判斷,因爲正確的人會

Tesseract instance = new Tesseract(); 

看一看在Tess4j documentation瞭解更多關於Tesseract類。

+1

謝謝你的答案。 – user3279893

+0

添加上面提到的代碼片段後,我編譯了我的程序。最後它給出了一個異常,它是「線程中的異常」main「java.lang.UnsatisfiedLinkError:指定的模塊找不到」。我無法弄清楚這個問題。 – user3279893

+0

將整個堆棧跟蹤粘貼到此處或Pastebin.com等站點中,以便我們可以分析問題。:) 在您的構建路徑中正確配置了「Tesseract」庫嗎? –

0

Tesseract()是一個構造函數,所以你需要使用new Tesseract()得到一個。

+0

謝謝你的回答 – user3279893

+0

你能幫我解決我的項目問題嗎?我已經通過編輯上面的問題在堆棧跟蹤上傳了新的屏幕截圖。 – user3279893

相關問題