Eclipse链接共享代码

时间:2015-10-19 08:29:07

标签: eclipse

我正在两个不同的平台上开发应用程序。 除了与平台相关的特殊包之外,基本代码是相同的 如何在仅保留基本代码的一个副本的情况下链接项目 问题在于api依赖于特殊包,它不允许我创建3个项目,例如Api,A,B,并将它们链接起来,如下所示。

E.g。 Proj A,Proj B,Proj API

平台A包,api - >一个应用程序
平台B包,api - > B app

2 个答案:

答案 0 :(得分:2)

所以你真正拥有的是两个不同的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

或者更好的是,如果您有像雷克萨斯这样的公司拥有自己的本地仓库,请将两个版本放在那里并简单地指向它们。

希望这有帮助。

答案 1 :(得分:0)

我突然想起你可以将文件链接到另一个项目。

这是我创建的项目以及我如何解决它。

项目基础 - &gt;基本API(你可以只使用一个文件夹,注意如果你创建一个项目,这会因为缺少依赖项而抛出错误) 项目平台A - &gt;包裹 项目平台B - &gt; B包

Project A API - &gt;链接基本API文件,包括平台A. Project B API - &gt;链接基本API文件,包括平台B

现在,您可以在包含缺少的平台包之后编译基本API。