合肥建设银行招聘网站,长沙建设信息中心网站,大连网站建设咨询,官方网站下载qq最新版eclipse插件开发最近#xff0c;我开始与一个团队合作开发Eclipse插件。 团队开发了一个很棒的插件#xff0c;可以实现预期的目的。 因此#xff0c;我检查了源并尝试构建它。 项目源包含所有必需的库#xff0c;并且只能在Eclipse中构建。 在当今不断交付的世界中#x… eclipse插件开发 最近我开始与一个团队合作开发Eclipse插件。 团队开发了一个很棒的插件可以实现预期的目的。 因此我检查了源并尝试构建它。 项目源包含所有必需的库并且只能在Eclipse中构建。 在当今不断交付的世界中这是一个主要障碍因为无法在詹金斯上建立这样的项目。 该项目不仅包含必需的库而且完整的eclipse设置也保留为源代码的一部分因此我想先进行改进。 我在项目中创建了POM.xml并删除了设置和库。 构建工作正常但是当我在Eclipse中打开项目时情况一团糟。 那里什么都没有 花了一段时间才意识到Eclipse和Maven是两个不容易融合的世界。 甚至最小的东西如工件版本和Bundle版本也不会轻易收敛。 在Maven中任何东西都可以是版本例如21快照。 但是在Eclipse中有一些标准必须将其命名为[number]。[number]。[number] .qualifier例如1.1.21.qualifier。 为了弥合两个世界之间的鸿沟Sonatype已将Tycho贡献给了Eclipse生态系统。 将插件添加到eclipse存储库中 repository
idjuno/id
layoutp2/layout
urlhttp://download.eclipse.org/releases/juno/url
/repositoryplugin
groupIdorg.eclipse.tycho/groupId
artifactIdtycho-versions-plugin/artifactId
version0.18.1/version
/pluginplugin
groupIdorg.eclipse.tycho/groupId
artifactIdtarget-platform-configuration/artifactId
version0.18.1/version
configuration
pomDependenciesconsider/pomDependencies
environments
environment
oslinux/os
wsgtk/ws
archx86_64/arch
/environment
/environments
/configuration
/plugin 这里有几点要注意 如果该插件用于特定的Eclipse平台则应添加该插件的存储库。 该插件可以使用来自POM或MANIFEST.MF的依赖项。 如果从POM使用依赖项则设置pomDependencies Tycho插件还带来了一组用于版本更新surefire测试等的插件。可以单独调用这些插件以执行不同的目标例如可以通过以下方式使用版本插件来设置版本 mvn tycho-versions:set-version -DnewVersion1.1.1-SNAPSHOT 这将在POM中设置1.1.1-SNAPSHOT版本在MANIFEST.MF中设置1.1.1.qualifier。 尽管插件提供了很多功能但也有一些限制。 插件无法为PDE生成正确的Eclipse设置。 因此如果我们不保留这些设置则需要再次生成这些设置。 插件页面上没有列出其他限制。 在此之后我们现在已经能够在某种意义上弥合两个世界。 生成Eclipse插件的Maven构建是可能的。 插件类加载器 在Eclipse PDE中有插件和片段。 插件是提供功能的完整模块片段是将自身附加到父插件然后增强其功能的模块。 因此插件可以附加n个片段从而在运行时对其进行增强。 我们有一个基础插件它提供了一些基本功能并且在其上构建了一个片段以在插件中使用Hadoop1.x。 一段时间后要求也支持Hadoop2.x。 现在这两个库彼此不兼容。 因此需要一些解决方法来实现此目的 幸运的是基于OSGI的Eclipse与其他Java应用程序相比具有不同的类加载机制。 通常只有一个/层次结构类加载器可以加载整个应用程序。 现在在这种情况下如果将两个不兼容的jar捆绑在一起则只会加载一个。 但是在eclipse中每个插件都有自己的类加载器可以加载自己的类。 现在这提供了很多机会例如支持同一库的不同版本。 此功能扩展到仅插件而不是片段。 片段没有自己的类加载器而是使用父插件类加载器。 我们本可以使用插件类加载器支持但是hadoop库是按片段而不是插件加载的。 我们将片段转换为插件这需要完成重构现有代码库的完整任务。 在基于hadoop 1.x的插件形成之后。 我们可以为hadoop 2.x制作更多插件。 每个插件都加载自己的一组类。 现在唯一的要求是拥有更多的PermGem空间因为无法将完整的插件加载到默认的PermGem空间中。 翻译自: https://www.javacodegeeks.com/2014/07/developing-eclipse-plugins.htmleclipse插件开发