我在想這是否構建我的項目的正確方法,以及如何配置它以便我可以從單個項目構建/測試/打包所有單個組件建立命令?如何在Maven中組織一個包含共享庫的項目
我有一個Maven項目,其中包含多個模塊 - Spring應用程序和它們之間共享的「庫」作爲依賴項。我希望能夠與庫一起構建所有應用程序,以便在任何模塊更改(lib或app)時執行集成測試。理想情況下,我應該能夠編譯每個組件,爲每個應用程序/庫運行單元測試,運行集成測試,將每個組件打包到其可執行的jar文件中。在某些時候,這個過程將在具有更高級別系統測試的Jenkins服務器上運行。我正在使用mvn clean install spring-boot:repackage
。這適用於每個應用程序,即,當從Main Project/App1/
運行。但是,當我從項目根目錄Main Project/
運行它時,出現一個錯誤,即該庫不能被重新打包,因爲該庫沒有主類。這很好 - 它是一個庫,它不需要入口點。
那麼這是在Maven中構建多應用程序項目的正確方法,還是我在做一些非常錯誤的事情?
這個項目的結構:
Main Project
|-SharedLibrary/
|-src/
|-pom.xml
|-App1/
|-src/
|-pom.xml
|-App2/
|-src/
|-pom.xml
|-App3/
|-src/
|-pom.xml
|-pom.xml
您是否已將應用程序添加爲主項目pom中的模塊? – Christian
嗨Christian,是的,當我對主項目執行'mvn clean install'時,所有的測試都會運行。但是,只有庫文件可以正確構建,因爲所有其他文件都需要使用'mvn clean install spring-boot:repackage'構建。 –