2015-10-14 72 views
2

我們有一個基於日期在2年前被修改的Java項目。 該項目使用了一個我剛纔回想起來的Play框架,並且在2012年運行得很好。 開發人員顯然已經嘗試將項目更改爲Maven項目,但文件夾結構遍佈整個地方,而不是在Maven內src文件夾結構。 嘗試運行Play命令不再適用於構建項目,並且使用Maven命令不會編譯代碼。 發生的只是將所有文件夾和源代碼打包到.jar文件中。Maven文件夾結構之外的文件可以被編譯嗎?

所以問題是'Maven文件夾結構以外的文件可以被編譯?'如果是這樣,我是否需要重構所有要放置到適當的Maven文件夾結構中的代碼以嘗試使其再次運行?

謝謝你的時間。

下面的文件夾樹的粗觀點:無法投遞的POM,因爲它是在其他系統上


  • ,項目名稱:
    • SRC
      • 主/ JAVA/
    • 軀幹
      • 項目名稱
        • ...玩框架文件夾結構在這裏偏食,模塊,預編譯,TMP
        • 的conf
        • LIB
    • Web內容
      • META-INF
      • WEB-INF
+1

您可以發佈您當前的POM,文件夾結構以及您希望編譯的結構中的哪些文件? – Tunaki

+0

您可以隨時將傳統Maven結構之外的文件包含到構建過程中,但我不會推薦它。你能提供你的實際文件結構嗎? –

回答

1

是的,你可以在一個非標準的Maven文件夾結構編譯的文件。出於生成源的目的,Maven本身支持多個源目錄。

閱讀Maven use guide When You Can't Use the Conventions

使用多個源目錄,當你產生 單一JAR(或其他產物)發生這一點,並有幾個源目錄 與要包括類。

This answer顯示瞭如何編輯Maven中的目錄結構,方法是指定適當的屬性以從超類中覆蓋。

The Maven pom docs顯示上面鏈接中提到的構建元素集。

作爲附註this answer涵蓋了建築戰爭的非標準目錄佈局。

+1

感謝Laurentiu,這些信息看起來像會讓我們找到正確的路徑來修復構建。非常感謝大家的意見。 – Elijah

相關問題