2011-11-09 61 views
0

我试图找出以下情况的最佳方法。我有几个Java源文件正在使用JNI与一些C源代码进行通信,这些源代码都驻留在Linux机器上。 Java部分在Linux机器上完美地构建和运行(通过JUnit)。 Java类依赖于几个Linux(.so)库。我想在本地计算机(Mac OS X)上运行Eclipse IDE调试器,但使用远程源。任何关于如何设置或不同方法的建议?我遇到了几个试图在本地编译远程库的问题。使用本地Eclipse IDE调试器与远程项目源(Linux)

当前设置: -Eclipse具有一个类Test.class的Java项目(请参见下文)。
-Test.class具有一个依赖项sample.jar,它在构建路径中添加为一个库,然后将已安装的linux路径添加到为sample.jar添加的libSample.so文件作为本机库位置。当我运行的Test.class我得到一个

public class Test { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) 
     System.loadLibrary("Sample"); 
    } 

} 

例外: 异常线程 “main” java.lang.UnsatisfiedLinkError中:在java.lang.ClassLoader.loadLibrary中的java.library.path 没有样品(Class.Loader.java:1758) at java.lang.Runtime.loadLibrary0(Runtime.java:823) at java.lang.System.loadLibrary(System.java:1045) at Test.main(Test.java:9 )

回答

0

您可以将Linux分区安装在Mac中,然后使用环境变量“定位”mnt。然后在Eclipse中为你的项目设置中的env变量使用这个库。我不知道它是否有效,但这是一种可能性。

我没有看到这样做,除非你可以在本地安装分区。 或者构建一个Eclipse“Remote Debug Plugin”

+0

感谢您的回复,我在我的第一个问题中添加了一些更多的细节到我的eclipse设置。有任何想法吗? – c12

+0

@ c12前提是你用正确的拼写调用lib,我会怀疑编译器不想通过mnt分区进行链接。我认为可能是这种情况,并且我对Mac的fs不够熟悉,建议更改环境中的任何内容。我会看看这个周末能否复制一些东西。我现在在工作。 – apesa