我正在兩個不同的平臺上開發應用程序。 除了依賴於平臺的特殊軟件包,基本代碼是相同的。
如何鏈接項目,同時僅保留一個基本代碼副本。
問題在於api依賴於特殊的包,它不允許我創建3個項目,例如Api,A,B,並將它們鏈接起來,如下所示。Eclipse鏈接共享代碼
E.g. PROJ A,PROJ B,凸出API
平臺的組件,其API - >一個應用
B平臺包,API - >乙應用
我正在兩個不同的平臺上開發應用程序。 除了依賴於平臺的特殊軟件包,基本代碼是相同的。
如何鏈接項目,同時僅保留一個基本代碼副本。
問題在於api依賴於特殊的包,它不允許我創建3個項目,例如Api,A,B,並將它們鏈接起來,如下所示。Eclipse鏈接共享代碼
E.g. PROJ A,PROJ B,凸出API
平臺的組件,其API - >一個應用
B平臺包,API - >乙應用
我突然想起你可以將文件鏈接到另一個項目。
這是我創建的項目和我如何解決它。
項目基地 - >基礎API(你可以使用一個文件夾,注意,如果您創建一個項目,因爲依賴缺失,這將拋出一個錯誤) 項目平臺A - >一個包 項目B平臺 - >乙包
項目A API - >鏈接庫API文件,包括A平臺 項目B API - >鏈接庫API文件,包括B平臺
現在,您可以包括後失蹤編譯基本的API平臺包。
那麼你真的是兩種不同的API和相同的基碼。
Common Code Base -> Api1
Common Code Base -> Api2
一個解決方案是使用一個項目,並根據您傳入構建的參數進行構建。通過這種方式,您可以維護一個項目和一個代碼庫,但仍然可以根據傳入的內容構建兩種解決方案。您可以通過在構建中傳遞所需的版本來完成此任務。如果您使用Maven構建項目,則可以使用變量來區分這兩個平臺。
它可能是這個樣子
<project>
...
<properties>
<platformVerion>platformA</platformVerion>
</properties>
<dependencies>
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>myartifact</artifactId>
<version>${platformVerion}</version>
</dependency>
</dependencies>
...
</project>
Maven的向您介紹如何在這裏做到這一點。
https://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Available_Variables
雖然他們指的是在此版本編號的版本,你可以把它任何你想要的,包括platformA和plateformB。
現在,您仍然遇到了使用兩種不同API的代碼位置問題。這可以存儲在本地系統上,也可以存儲在像Lexis這樣的本地存儲庫中。對於本地存儲的代碼,您可以使用Maven的系統依賴關係來管理它。
https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
或者更好的是,如果你有自己的本地回購的公司如雷克薩斯,把兩個版本在那裏,只是相應地指向他們。
希望這會有所幫助。