当前位置: 首页 > 面试题库 >

JACOB和JRE 1.7出现UnsatisfiedLinkError

庄智
2023-03-14
问题内容

我整理了一个使用JACOB来访问iTunes的程序…在Eclipse中工作正常,但是当我导出它并在命令提示符下运行它时,出现了一个不满意的链接错误,告诉我jacob-1.17-M2-x86.dll是不在我的java.library.path中。

香港专业教育学院试图将其放入system32,将本机库位置设置为其目录…我尝试使用system.setproperties技巧…,我无法弄清楚如何正确使用java
-d

我还可以做些什么?香港专业教育学院一直在网上搜索,试图使其兼容超过4个小时,而且似乎没有任何效果。


问题答案:

我找到了一个晒太阳的程序员写的了不起的帖子,解决了我的问题!

public static void addDir(String s) throws IOException {
    try {
        // This enables the java.library.path to be modified at runtime
        // From a Sun engineer at http://forums.sun.com/thread.jspa?threadID=707176
        Field field = ClassLoader.class.getDeclaredField("usr_paths");
        field.setAccessible(true);
        String[] paths = (String[])field.get(null);
        for (int i = 0; i < paths.length; i++) {
            if (s.equals(paths[i])) {
                return;
            }
        }
        String[] tmp = new String[paths.length+1];
        System.arraycopy(paths,0,tmp,0,paths.length);
        tmp[paths.length] = s;
        field.set(null,tmp);
        System.setProperty("java.library.path", System.getProperty("java.library.path") + File.pathSeparator + s);
    } catch (IllegalAccessException e) {
        throw new IOException("Failed to get permissions to set library path");
    } catch (NoSuchFieldException e) {
        throw new IOException("Failed to get field handle to set library path");
    }
}

然后我在使用JACOB方法之前添加

addDir("C:" + File.separator + "java" + File.separator + "jre7" + File.separator + "lib")

像魅力一样工作。



 类似资料:
  • JACOB一个Java-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32程序库。 示例代码: import com.ms.com.*;import com.ms.activeX.*;public class DispatchTest{ public static void main(String[] args) { ActiveXComponent xl =

  • Open-jACOB eMail是一个轻量级IMAP客户端,基于Javamail API与Open-jACOB框架开发。界面类似于Gmail,它提供的功能包括完整的folder list,message list和contact list。 演示地址:http://tarragon-net.de:8200/jacob/login.jsp?forceApp=email

  • > 正确的Java主目录(包括/bin目录)位于全局路径上 JAVA_HOME设置正确 执行命令java-fullversion工作

  • 问题内容: 我有一个eclipse插件,它使用Jacob连接到COM组件。但是,在我完全关闭插件后,.exe文件仍然挂在Windows进程中。 我用于初始化,并确保在关闭应用程序之前为我创建的每个COM对象都调用了该对象,并在最后调用了该对象。 我是否遗漏了什么? 问题答案: TD2JIRA转换器也有同样的问题。最终必须修补Jacob文件之一才能释放对象。之后,一切顺利。 我的客户端logout(

  • 问题内容: 我正在编写一个使用Jacob库(桥接COM和Java)与Microsoft Outlook进行交互的Java程序。该程序创建一个新的MailItem,向用户显示其Inspector窗口。我希望订阅检查器的Close事件,以了解用户何时完成其邮件项目的编辑。 要订阅的情况下,我跟着指示雅各的文档(约2 / 3下页): 当前的[event]模型在概念上类似于Visual Basic 构造。

  • 问题内容: 我正在上课的酒店管理软件上工作,我的代码遇到了一些问题。此时,我只是想将我在单独的类中创建的JPanel添加到主gui中。任何帮助将不胜感激。〜谢谢! 注意:错误发生在“ jpanel.add(“ Room”,room.getRoomPanel());“行上 代码:HotelSystem.java RoomSystem.java 问题答案: 您从未初始化 即使您确实对其进行了初始化,您