我在 oracle-glassfish3.1.1 中使用 Tess4j 2.0.0,例外是:
java.lang.NoSuchFieldError: RESOURCE_PREFIX at net.sourceforge.tess4j.util.LoadLibs.(LoadLibs.java:60) at net.sourceforge.tess4j.TessAPI.(TessAPI.java:40) at net.sourceforge.tess4j.Tesseract。 init(Tesseract.java:360) 在 net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:273) 在 net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:256) 在 net.sourceforge.tess4j.Tesseract .doOCR(Tesseract.java:237) 在 net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:221) 在 cn.uxcard.util.CaptchaUtil.getCaptcha(CaptchaUtil.java:29) 在 cn.uxcard.util。 HttpConnection.getCaptcha(HttpConnection.java:60) 在 cn.uxcard.util.HttpConnection.tryCaptcha(HttpConnection.java:78) 在 cn.uxcard.util.HttpConnection.login(HttpConnection.java:90) 在 cn.uxcard.util .HttpConnection.tryLogin(HttpConnection.java:121) 在 cn.uxcard。util.HttpConnection.init(HttpConnection.java:148) 在 cn.uxcard.util.HttpUtil.getConnection(HttpUtil.java:28) 在 cn.uxcard.executor.FetchTodayConsumeRecordExecutor.run(FetchTodayConsumeRecordExecutor.java:29) 在 java.util .concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 在 java.lang.Thread.run(Thread.java:662)运行(线程.java:662)运行(线程.java:662)
glassfish 加载 com.sun.jna.Platform 类,不要使用 WEB-INF/lib/jna-4.1.0.jar 而是使用“bundle://185.0:1/com/sun/jna/Platform.class” . 我可以更改 glassfish 类加载顺序吗?如果可以,如何更改?