我对 Eclipse 快要发疯了。我编写了使用外部 jar 的简单测试类。当我从 Eclipse 运行时,它使用本机库 .dll,命令运行。这是我的堆栈跟踪:
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Program Files\YAZ\bin\yaz4j.dll: The specified procedure could not be found
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at org.yaz4j.Connection.<clinit>(Connection.java:56)
at ru.Test.testConnection(Test.java:20)
at ru.Test.main(Test.java:15)
但是当我像这样从控制台运行这段代码时
java -cp "bin;C:\Program Files\YAZ\java\yaz4j.jar" ru.Test
一切都很完美!这是相同的代码。它如何在控制台中工作而不在 Eclipse 中工作?
这里我如何将这个引用的 jar 插入到我在 Eclipse 中的项目中: