2017-03-22 44 views
0

我已經做了各種語言編程的合理數量,但我是一個Java/Netbeans新手。我已成功創建並運行「Hello World」,因此我的Netbeans安裝無誤。如何將OEM Java庫和源代碼導入Netbeans?

我想編寫代碼來控制LED顯示控制器卡。我有示範演示代碼由OEM壓縮。我正在嘗試導入,運行和編輯該代碼。如果我可以運行,這將成爲我自己代碼的起點。

壓縮文件只包含與Netbeans不匹配的目錄結構中的庫和源文件。我所有的導入源文件和lib文件的嘗試都給Netbeans帶來了致命的錯誤。

目錄樹在根目錄下有一個lib和src分支。 src分支級聯4個級別以獲取源文件。

我想如果我使用不同的樹結構,我將需要更改源文件中的導入語句。我寧可在代碼運行之前不要觸摸代碼。我試圖將項目樹直接解壓縮到Netbeans目錄中,但是這不起作用。

+0

它應該足以將jar文件添加到您的項目。只有在需要更改OEM庫時才使用源代碼。 –

+0

我需要澄清的是,我有一個zip文件,其中包含許多lib/.jar文件以及演示程序.java的源代碼,它們使用這些壓縮的庫。我沒有.jar – dazz

+0

的源代碼已解決:問題是我將Netbeans指向包含.jar文件的文件夾。我沒有做的是專門選擇.jar文件並將其導入到項目中。一旦我這樣做,所有的錯誤消失,代碼編譯。 – dazz

回答

0

對於Netbeans能夠打開項目,該文件夾必須包含Netbeans本身在創建項目時生成的一些文件。

由於您只有srclib文件夾可用,我認爲最簡單的解決方案是從Netbeans創建一個新項目,以便自動管理這些文件的創建,然後複製您擁有的文件夾的內容在Netbeans將創建的文件夾中。

您還必須告訴Netbeans使用這些庫,並且您可以從新項目的首選項中執行此操作。

編輯

一些更多的東西,你可以嘗試:

  1. 在NB

    ,右鍵單擊該文件夾包含您導入的JAR文件並選擇「刪除」,然後將其重新導入,但選擇jar文件而不是整個文件夾;

  2. 如果您還沒有這樣做,請使用「清理並生成項目」按鈕而不是「生成項目」;

如果以上都不是解決問題,請嘗試從頭開始再次執行以下步驟:

  1. 解壓您的OEM在您的磁盤的某處文件;

  2. 創造NB一個新的空項目

  3. 副本從SRC OEM子文件夾中的文件爲src NB項目子文件夾

  4. 在NB

    ,右鍵單擊庫,然後添加JAR /文件夾,並選擇從LIB OEM子文件夾

jar文件如果這也不行,告訴我在哪裏可以找到OEM的東西,我就自己試試吧:)

+0

好的,這聽起來像它應該工作,但我不能得到它的工作。我將src和lib文件解壓縮到一個新的項目目錄中。這將文件放在正確的位置。然後,我使用「帶有現有源的Java項目」創建了一個新的Java項目。這使用Netbeans註冊了src文件,但沒有註冊lib .jar文件。所以我右鍵單擊Netbeans「Libraries」項目文件夾並選擇「添加Jar /文件夾」並指向libs目錄。這創建了具有所需JAR文件的NB項目庫子文件夾。 – dazz

+0

因此,現在我有一個項目,在正確的位置使用src和lib文件,並向NB註冊。我仍然收到相同的錯誤消息。編譯器無法找到OEM jar文件。顯然我做錯了什麼,但我不知道那是什麼。 – dazz

+0

因此,我查看了演示源代碼中的導入聲明,並將其與OEM庫進行了比較。通過雙擊NB中的庫文件,我可以看到每個.class(你會知道,但我剛剛學過)。庫中的類匹配導入語句。當我編譯演示代碼時,我收到許多類似下面兩個評論框的錯誤消息: – dazz

0

如何導入JAR(Java歸檔,你的情況「庫」)在Netbeans的

  1. 右鍵單擊您的項目名稱,在「項目」窗格中通常位於左側
  2. 點擊從彈出菜單中選擇「屬性」鏈接
  3. 單擊類別列表中的「庫」鏈接
  4. 選擇「添加JAR /文件夾」,瀏覽到您的JAR,然後單擊確定

如果你想讓Netbeans爲你的源代碼創建JAR,就像Stefano說的那樣。

+0

按照您的指示,但得到相同的錯誤。見上面的評論。是否有NB文件,其中包含NB可在OEM .JAR文件中看到的對象的可讀文本列表? – dazz

+0

是的,我找到了.Jar文件內容的列表。用鼠標右鍵單擊.JAR文件並選擇「顯示Javadoc。OEM文件帶有壓縮的Java Doc文件。 – dazz

0

您應該將src文件夾作爲src.zip與zip實用程序打包,並將lib下的結構與java歸檔程序一起打包爲jar文件。

現在您可以在NetBeans中定義一個庫,並將這些文件添加到它中(Tools => Libraries => New Library)。