我正在两个不同的平台上开发应用程序。 除了依赖于平台的特殊软件包,基本代码是相同的。
如何链接项目,同时仅保留一个基本代码副本。
问题在于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
或者更好的是,如果你有自己的本地回购的公司如雷克萨斯,把两个版本在那里,只是相应地指向他们。
希望这会有所帮助。