2011-11-09 98 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