我有兩個模塊A和B. Actualy B是A的插件。
B在編譯時依賴於A.一個不依賴於B. 在運行時我想補充B到類路徑,所以在的pom.xml我添加下面的依賴Maven運行時範圍和循環依賴
pom.xml
<dependency>
<groupId>my_group</groupId>
<artifactId>my_Plugin</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
Maven的過程中失敗,並循環依賴錯誤
[ERROR] The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='A'}' and 'Vertex{label='B'}' introduces to cycle in the graph B-->A-->B -> [Help 1]
[錯誤]
爲什麼運行依賴影響編譯時間?
有一個很好的方法來安排你的構建這種類型的項目。如果您重構了共享到另一個模塊(C)的代碼,項目B將不再需要在編譯時依賴於A - A和B都可以依賴於C.然後,A依賴於B並不是問題在運行時。考慮這一點的一個好方法是考慮編寫一個庫(一堆可共享的代碼)和一個應用程序,這是一個彙編庫的集合。一個應用程序項目實際上並不需要包含任何代碼。 – Conan