【问题标题】:Native Library in java using eclipse使用eclipse的java中的本机库
【发布时间】:2013-05-04 10:04:19
【问题描述】:

请告诉我如何在 Eclipse 中使用 Native Lib.
更多:
我在我们的项目中使用AspriseOCR.dll 进行图像处理。
但是 sys 在 java 库路径中找不到这个 dll 文件。
我收到以下错误:

Exception in thread "main" 
java.lang.UnsatisfiedLinkError: no AspriseOCR in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1030)
    at com.readimage.ReadIMG.main(ReadIMG.java:37)

【问题讨论】:

  • 我得到了同样的错误,按照下面第一个答案中提到的步骤,但没有解决我的问题。请有人指导我这个..

标签: java dll native


【解决方案1】:

我也遇到了同样的问题。它是通过将下面的 .dll 放入 ../java(version)/jre/bin 文件夹来解决的:

AspriseOCR.dll、AspriseJTwain.dll、DevIL.dll、ILU.dll

维沙尔·斯利瓦斯塔瓦

【讨论】:

    【解决方案2】:

    您必须将 dll 路径添加到您的系统路径中。您可以使用以下代码将 dll 文件添加到系统路径中

        System.setProperty( "java.library.path", "DriveName:/native/dll-folder/" );
        Field fieldSysPath = ClassLoader.class.getDeclaredField( "sys_paths" );
        fieldSysPath.setAccessible( true );
        fieldSysPath.set( null, null );
    

    【讨论】:

    • java.lang.NoSuchFieldException: AspriseOCR at java.lang.Class.getDeclaredField(Class.java:1882) at com.readimage.ReadIMG.main(ReadIMG.java:33) 线程“main”中的异常" java.lang.UnsatisfiedLinkError: java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682) 的 java.lang.Runtime.loadLibrary0(Runtime.java:823) 的 java.library.path 中没有 AspriseOCR。 System.loadLibrary(System.java:1030) 在 com.asprise.util.ocr.OCR.loadLibrary(OCR.java:247) 在 com.asprise.util.ocr.OCR.(OCR.java:56)在 com.readimage.ReadIMG.main(ReadIMG.java:49) ----- 得到这个错误。
    • 我在使用 OCR 原生库时遇到了同样的问题。只需将“AspriseOCR.dll”放入您的 C:/programs files/java(version)/jre/bin 文件夹.. 并检查.. 我希望它能正常工作:-)
    猜你喜欢
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    相关资源
    最近更新 更多