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