在Eclipse中添加API基线

pro*_*eek 10 java eclipse build

在eclipse源码库的编译中.我有"未设置API基线..."错误.

在此输入图像描述

我尝试添加API Baseline,但我不知道如何制作或添加它.

什么是API Baseline,我该如何添加或制作?

在此输入图像描述

在此输入图像描述

Oli*_*yer 7

我尝试回答问题的“API 基线的用途是什么,......”部分。

API Baseline 是来自 PDE Tools / API Tools 的一个概念。它们旨在帮助您维护其他人可以使用的插件。它们帮助您创建兼容的 API 版本。

问题:

  1. 您创建您的插件并向公众发布版本 1。
  2. 数以百万计的人将使用您的插件并根据您的插件的 API 创建他们自己的代码。
  3. 您向公众发布了第 2 版。您错误地更改了插件的 API。
  4. 数以百万计的人更新到新版本,不得不调整他们的代码。数以千计的程序失败。人们很难过。

解决方案:

  1. 你创建你的插件,注释它的 API并向公众发布版本 1。
  2. 数以百万计的人将使用您的插件并根据您的插件的 API 创建他们自己的代码。
  3. 您将插件的第 1 版声明为API-Baseline,您的代码更改会自动与之进行比较。API 中的任何中断都会您发布插件或运行测试之前呈现给您。您发布第 2 版而没有任何 API 更改。
  4. 数以百万计的人可以在他们的应用程序中更新您的插件,因为新的插件版本与前一个版本是二进制兼容的。
  5. 您声明插件的版本 2 ....

概括

如果您开发的插件仅供个人使用,并且对维护兼容的 API 不感兴趣,您可以按照建议禁用警告。

当您为社区开发插件时,例如 eclipse 插件本身,您必须将 API 不兼容性保持在最低限度。然后,您将遵循建议并在为 4.3 开发时将基线设置为 4.2。API 工具将帮助您让 4.3 成为所有当前 4.2 用户的享受。

请注意,API 工具适用于其他人将使用的插件的开发人员。这些插件的用户没有解决这些问题。


小智 3

引用自 Eclipse 站点,“API 基线定义了为了二进制兼容性、捆绑包版本号和 @since 标签而要与开发工作区捆绑包进行比较的状态。例如,如果您正在为 Eclipse 3.4 开发捆绑包,则您可以可以使用 Eclipse 3.3 作为基准。”

所以基本上这意味着您正在构建需要其他捆绑包(依赖项捆绑包/插件 + OSGi 框架(核心和纲要 API/服务))的捆绑包(插件项目,它是 OSGi 捆绑包或 Eclipse 插件),您通过“API 基线”指定它,该“API 基线”保证它们(依赖项)的存在,类似于“配置文件”(例如 IBM WAS 中的 Liberty 配置文件)。

作为解决方法,您可以避免通过“插件首选项”为工作区设置 API 基线,将其设置为“警告”或“忽略”。这允许您编译插件 (OSGi) 项目。

参考: http://help.eclipse.org/luna/index.jsp ?topic=%2Forg.eclipse.pde.doc.user%2Freference%2Fapi-tooling%2Fpreferences%2Fref-baselines.htm