Eclipse链接共享代码
我正在两个不同的平台上开发一个应用程序。 除依赖于平台的特殊软件包外,基本代码相同。Eclipse链接共享代码,eclipse,Eclipse,我正在两个不同的平台上开发一个应用程序。 除依赖于平台的特殊软件包外,基本代码相同。 如何在仅保留一份基本代码的情况下链接项目。 问题在于api依赖于特殊的包,这不允许我只创建3个项目,例如api、A、B,并按如下所示链接它们 例如。 项目A、项目B、项目API 平台A包、api->A应用程序 平台B包,api->B应用程序,因此您真正拥有的是两个不同的api和相同的基本代码 Common Code Base -> Api1 Common Code Base -> Api2 一种解
如何在仅保留一份基本代码的情况下链接项目。
问题在于api依赖于特殊的包,这不允许我只创建3个项目,例如api、A、B,并按如下所示链接它们 例如。 项目A、项目B、项目API 平台A包、api->A应用程序
平台B包,api->B应用程序,因此您真正拥有的是两个不同的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>
...
平台
com.mycompany
当他们在这个版本中引用一个编号的版本时,你可以做任何你想要的,包括platformA和Platformb
现在,您仍然有一个问题,即从正在使用的两个不同的API中提取代码的位置。可以存储在本地系统上,也可以存储在本地存储库(如Lexis)中。对于本地存储的代码,可以使用Maven的系统依赖项来管理它
或者更好的是,如果你为雷克萨斯这样的公司拥有自己的本地回购协议,那么把这两个版本放在上面,并简单地指出它们
希望这能有所帮助。我突然想起,您可以将文件链接到另一个项目
这就是我创建的项目以及我如何解决它
Project Base->Base API(您可以只使用一个文件夹,注意,如果您创建一个项目,这将抛出一个错误,因为缺少依赖项)
项目平台A->A包
项目平台B->B包
项目A API->链接基础API文件,包括平台A
项目B API->链接基础API文件,包括平台B
现在,您可以在包含缺少的平台包之后编译基本API