java.lang.NoClassDefFoundError:net/sourceforge/tess4j/TesseractException
我试着用Java和Tesseract为Mirth做一个ocr应用程序。我用jar文件导出项目,用Javascript调用Mirth,后者做了一个hello world应用程序。我相信我添加jar文件的方法是正确的。但是我在Java ocr中有一个问题,所以我得到了这个错误 错误(com.mirth.connect.connectors.js.JavaScriptDispatcher:193):评估JavaScript编写器时出错(通道b469e5af-a78d-41ca-86a0-a7b507799a4d上的JavaScript编写器“RTF>DCM”)。 java.lang.NoClassDefFoundError:net/sourceforge/tess4j/TesseractExceptionjava.lang.NoClassDefFoundError:net/sourceforge/tess4j/TesseractException,java,tesseract,mirth,tess4j,Java,Tesseract,Mirth,Tess4j,我试着用Java和Tesseract为Mirth做一个ocr应用程序。我用jar文件导出项目,用Javascript调用Mirth,后者做了一个hello world应用程序。我相信我添加jar文件的方法是正确的。但是我在Java ocr中有一个问题,所以我得到了这个错误 错误(com.mirth.connect.connectors.js.JavaScriptDispatcher:193):评估JavaScript编写器时出错(通道b469e5af-a78d-41ca-86a0-a7b5077
非常感谢您的帮助。您必须下载并将其添加到类路径。此jar包含缺少的类
net/sourceforge/tess4j/TesseractException
,您必须下载并将其添加到类路径中。此jar包含缺少的类net/sourceforge/tess4j/TesseractException
如何将其添加到此类路径?可能我以前做过。如何运行该类?我已经通过Java构建路径->库->添加外部jar为tess4j添加了jar文件。此外,项目在本地运行。如何将其添加到此类路径?可能是我做的之前。如何运行该类?我已经通过Java Build Path->Libraries->Add External jar为Tess4J添加了jar文件。该项目也在本地运行。这是一个未找到的类异常,因此请仔细检查相关jar的路径,并确保jar文件实际具有您认为应该具有的类(使用解压-l file.jar
)。谢谢@Robert。我解决了我的问题。你可以看到所有答案。这是一个未找到类的异常,因此请仔细检查相关jar的路径,并确保jar文件实际具有你认为应该具有的类(使用解压-l file.jar
)。谢谢@Robert。我解决了我的问题。你可以看到所有答案
package com.imagerad.ocr;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
public class JavaOCRTest {
static String Tc;
static String phone;
static String date;
public static void main(String[] args) throws IOException{
}
public String returnText(String fileName) throws IOException{
Files.walk(Paths.get(fileName)).forEach(filePath -> {
if (Files.isRegularFile(filePath)) {
File imageFile = filePath.toFile();
ITesseract instance = new Tesseract();
try {
String result = instance.doOCR(imageFile);
int i=result.indexOf("Numarasn: ");
int j=result.indexOf("Tel No:");
int k=result.indexOf("Bilgllendirme Tarihl:");
Tc = result.substring(i+10, i+22);
phone = result.substring(j+8,j+23);
date = result.substring(k+22,k+32);
} catch (TesseractException e) {
System.err.println(e.getMessage());
}
}
});
return Tc+""+phone+""+date;
}
public String returnTC() throws IOException{
return Tc;
}
public String returnPhone() throws IOException{
return phone;
}
public String returnDate() throws IOException{
return date;
}
}