【问题标题】:RXTX Java Eclipse on MacMac 上的 RXTX Java Eclipse
【发布时间】:2016-05-16 19:15:15
【问题描述】:

我收到此消息错误的 RXTX 库有问题。我查看了很多网站和表格并尝试了所有这些,但我的问题没有答案:

java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/librxtxSerial.jnilib: dlopen(/Library/Java/Extensions/librxtxSerial.jnilib, 1): no suitable image found.  Did find:
/Library/Java/Extensions/librxtxSerial.jnilib: no matching architecture in universal wrapper thrown while loading gnu.io.RXTXCommDriver
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/librxtxSerial.jnilib: dlopen(/Library/Java/Extensions/librxtxSerial.jnilib, 1): no suitable image found.  Did find:
    /Library/Java/Extensions/librxtxSerial.jnilib: no matching architecture in universal wrapper
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1858)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
    at javaduino.javaduinoframe.inicializarConexion(javaduinoframe.java:96)
    at javaduino.javaduinoframe.<init>(javaduinoframe.java:80)
    at javaduino.javaduinoframe$1.run(javaduinoframe.java:33)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

【问题讨论】:

    标签: java eclipse macos rxtx


    【解决方案1】:

    第二天我找到了解决问题的方法。我在这里发布了问题:Installing RXTX on Mac OS Mountain Lion

    问题是进入/Library/java/extension 目录的文件没有更新。上面的网站 URL 有你需要的一切。

    1. 转到http://rxtx.qbang.org/wiki/index.php/Download 并下载二进制版本2.1.7。
    2. 解压文件夹并将解压后的文件夹放在桌面上。
    3. 打开文件夹并导航到 Mac_OS_X 文件夹。
    4. 删除 librxtxSerial.jnilib 文件(我发现此文件使用的是 Java 5,而对于 Mountain Lion,我使用的是 Java 6)。
    5. 访问 Robert Harder 的博客并下载他的 librxtxSerial.jnilib 文件版本。直接链接在这里。只想说声谢谢 你给罗伯特写的博文——它为我节省了很多时间。他有什么 done 编译了一个 Java 6 友好版本的 librxtxSerial.jnilib。
    6. 将这个新的 librxtxSerial.jnilib 文件保存在步骤 2 中桌面上的 RXTX 文件夹的 Mac_OS_X 文件夹中。
    7. 打开终端并输入以下内容:

      cd /rxtx-2.1-7-bins-r2/

      sudo cp RXTXcomm.jar /Library/Java/Extensions

      sudo cp Mac_OS_X/librxtxSerial.jnilib /Library/Java/Extensions

    【讨论】:

      【解决方案2】:

      分步教程。如果你跟着我从第 1 步到第 16 步,那么你会成功的,我在本教程中使用了太多的屏幕截图,因为我不想让你在茫茫荒野中离开!注意粗体字。祝你好运!

      1- 确保您已从以下链接下载了 Java SE.6安装了它

      Download Java for OS X 2015-001

      2- 在 Eclipse 中创建一个 java 项目,在同一窗口中选择 Use a specific JRE 然后点击 configure JREs 如下图:

      3- 现在选择添加

      4- 选择Standard VM并点击next,现在在打开的窗口中点击Directory。转到您的 HDD/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home点击打开,如下图所示:

      5- 现在你应该看到像这样的 JRE 系统库:

      6- 将 JRE 名称更改为:Java SE.6(这不是必需的,但它比给它 Home 名称更好),现在单击完成。如下图:

      7- 在新窗口中选择Java SE.6,然后点击OK,如下图:

      8- 现在选择Java SE.6点击完成,如下图:

      9- 通过右键单击您的项目创建一个文件夹,选择 new,选择 folder 将其命名为“lib”或您想要的任何名称。

      10- 从此链接下载 RXTXcomm.jarRXTXcomm.jar for Mac 然后拖放到您在步骤中创建的文件夹“lib”中9 并选择复制文件

      11- 现在右键单击 RXTXcomm.jar 并选择Build Path,然后选择Add to Build Path

      12- 现在右击您的项目,然后选择Properties,选择Java Build Path,点击Libraries,看这张图:

      不要放弃,你就快到了:)

      13- 点击RXTXcomm.jar的小箭头并展开它,选择Native library location然后点击编辑或者直接双击,如下图:

      14- 在打开的窗口中,选择 Workspace 并选择您为本教程创建的 项目,然后单击 ok

      15- 现在下载这个文件,librxtxSerial.jnilib

      16- 将 RXTXcomm.jarlibrxtxSerial.jnilib 复制并粘贴到此文件夹中:HDD/Library/Java/Extensions(您需要输入计算机密码) .看这张图:

      干得好!你成功了:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多