2016-03-05 34 views
0

我試圖使用Netbeans 8.1來處理具有非標準項目結構的Maven項目。在我的項目中,我的來源是src/foo而不是src/main/java。要打開我的項目,我點擊文件>打開項目...在菜單中。然後,我在打開的文件瀏覽器中導航到我的項目。然後我選擇我的項目並點擊打開。當我的項目在Netbeans Projects選項卡中打開時,它不包含任何源代碼包。它只顯示標記爲的文件夾依賴項和標記爲的文件夾項目文件Netbeans無法在非標準項目佈局中找到源代碼

我試着改變項目屬性中源文件夾的位置來解決這個問題。我在該項目上單擊鼠標右鍵,然後單擊屬性,然後在左側菜單中單擊來源。然後我嘗試編輯源文件夾的值,但該值不可編輯。值得注意的是,對於ant項目,我可以在項目屬性中添加源代碼,但對於Maven來說,這似乎不可行。

回答

1

是否你的Maven項目實際上建立正確? IDE將從您的POM模型中提取源位置。例如。

<project> 
    <build> 
    <sourceDirectory>${project.basedir}/src/foo</sourceDirectory> 
    </build> 
+0

有趣的是,我的項目沒有正確構建,但它不是我的項目,所以我不知道爲什麼。我想我需要更多地瞭解這個項目,但是你的解決方案很好。 – stiemannkj1

0

一個解決方案是更改您的項目,使其使用Maven's standard directory layout。一個非常簡單的方法來做到這一點(如果你有一個目錄下的來源),是從src/main/java創建符號鏈接src/foo

mkdir src/main && ln -s /path/to/project/src/foo src/main/java 

如果你這樣做,NetBeans將能夠看到您的來源,並且您可以保留您的非標準目錄結構。

可能的選擇:在尋找這個問題的替代解決方案,我發現我可以用現有源代碼或Java的自由形式項目(I」導入項目到NetBeans無論是作爲Java項目米不知道我使用了哪一個)。不過,Netbeans不會再讓我這樣做,所以我不確定它是否會一直有效,我不確定我採取的步驟。如果你想嘗試的解決方案,單擊文件>新建項目,選擇的Java類別,並選擇使用Java項目包含現有源Java的自由形式項目。在下一個窗口中,將Netbeans指向您現有的來源作爲項目的位置。正如我前面所說,我敢肯定,這一次爲我工作,但Netbeans的顯示了以下錯誤我不能再使用此方法:

Project folder is managed by a project foo-project-name. Instead of creating a new project just open it. If by a chance you just deleted the project foo-project-name than [sic] restart the IDE to reuse the folder.

相關問題