Java 在Eclipse中添加API基线

Java 在Eclipse中添加API基线,java,eclipse,build,Java,Eclipse,Build,在eclipse源代码库的编译中。 我有“尚未设置API基线…”错误 我试图添加API基线,但我不知道如何创建或添加它 API基线是用于什么的?我如何添加或制作一个 引用Eclipse站点的话,“API基线定义了为了二进制兼容性、捆绑包版本号和@since标记的目的,您要将开发工作区捆绑包与之进行比较的状态。例如,如果您正在为Eclipse 3.4开发捆绑包,您可以使用Eclipse 3.3作为基线。” 因此,基本上这意味着,您正在构建需要其他捆绑包(依赖捆绑包/插件+OSGi框架(核心和概

在eclipse源代码库的编译中。 我有“尚未设置API基线…”错误

我试图添加API基线,但我不知道如何创建或添加它

API基线是用于什么的?我如何添加或制作一个


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

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

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

参考:

您也可以“忽略”它:

“Windows>首选项>插件开发>API基线>选项>缺少API基线 然后,在下拉列表中将“错误”更改为“忽略”

请记住,忽略可能是错误的,这取决于用例:

  • 如果您必须处理源代码,甚至必须提交项目,那么忽略API基线可能不是一个好主意
  • 如果您只是使用捆绑包作为依赖项导入捆绑包,例如通过Git导入捆绑包(可能是为了更方便地获取新更改,或者切换到另一个分支),那么您可以忽略API基线
我试图回答问题的“API基线是用于……的”部分

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

问题是:
  • 您创建插件并向公众发布版本1
  • 数百万人将使用你的插件,并根据插件的API创建自己的代码
  • 您向公众发布了版本2。您错误地更改了插件的API
  • 数以百万计的人更新到新版本,不得不修改他们的代码。成千上万的程序失败。人们感到悲伤
  • 解决方案:
  • 您创建插件,注释其API,并向公众发布版本1
  • 数百万人将使用你的插件,并根据插件的API创建自己的代码
  • 您将插件的版本1声明为自动比较代码更改的API基线。在您发布插件或运行测试之前,API中的任何中断都会显示给您。您发布版本2时没有任何API更改
  • 数百万人可以在他们的应用程序中更新你的插件,因为新的插件版本与前一版本是二进制兼容的
  • 您声明了插件的版本2
  • 总结 如果您开发了一个仅供个人使用的插件,并且对维护兼容的API不感兴趣,那么您可以按照建议禁用警告

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


    请注意,API工具是为其他人将使用的插件的开发人员提供的。这些工具不是针对这些插件的用户提供的。

    可能重复的API工具请说明为什么忽略它不会让我大吃一惊,这取决于您如何使用导入的捆绑包。如果您正在积极开发源代码,您应该布莱不只是忽略API基线。另一方面,如果您只是导入一些插件(例如,从git、更容易保持更新或需要特定分支)作为依赖项,那么这样做是省钱的。