首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Eclipse增量包构建一个p2站点?

如何为Eclipse增量包构建一个p2站点?
EN

Stack Overflow用户
提问于 2012-10-03 08:09:51
回答 2查看 2.7K关注 0票数 0

我正在尝试为Eclipse增量站点构建自己的p2更新站点(因为它不能作为p2更新站点使用)。

我做了什么:

代码语言:javascript
复制
 # Get the delta pack from Eclipse web site
 #
 wget http://mirror.cc.columbia.edu/pub/software/eclipse/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-3.7.2-delta-pack.zip

 # Unzip in its own directory (delta)
 #
 mkdir delta
 cd delta
 unzip ../eclipse-3.7.2-delta-pack.zip
 cd ../

 # Get Eclipse from Eclipse web site (in theory we could only get equinox,
 # but in pratice, it refused to start due to some race conditions.  Using
 # eclipse works out-of-the-box)
 #
 wget http://mirror.cc.columbia.edu/pub/software/eclipse/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-3.7.2-delta-pack.zip

 # Untar Eclipse (it creates an "eclipse" directory)
 #
 tar xzvf eclipse-java-indigo-SR2-linux-gtk-x86_64.tar.gz

 # Create (publish) a p2 site out of the delta features/plugins
 #
 ./eclipse/eclipse -console -consolelog -nosplash -debug -verbose        \
    -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher       \
    -metadataRepository file:${Repository}  \
    -artifactRepository file:${Repository}  \
    -source delta/eclipse                   \
    -configs ANY            \
    -publishArtifacts

这将在${Repository}中创建以下结构:

代码语言:javascript
复制
/<...>/local/apache2/htdocs/delta
    |-- artifacts.xml
    |-- content.xml
    |-- features
    |   `-- org.eclipse.equinox.executable_3.5.1.v20111216-1653-7P7NFUIFIbaUcU77s0KQWHw5HZTZ.jar
    `-- plugins
        |-- org.eclipse.compare.win32.source_1.0.200.I20110510-0800.jar
        |-- org.eclipse.compare.win32_1.0.200.I20110510-0800.jar
        |-- org.eclipse.core.filesystem.aix.ppc_1.1.0.v20110423-0524.jar
        |-- org.eclipse.core.filesystem.hpux.ia64_32_1.0.100.v20110423-0524.jar
        |-- org.eclipse.core.filesystem.linux.x86_1.4.0.v20110423-0524.jar
        |-- org.eclipse.core.filesystem.linux.x86_64_1.2.0.v20110423-0524.jar
        |-- org.eclipse.core.filesystem.macosx_1.3.0.v20110423-0524.jar
        |-- org.eclipse.core.filesystem.solaris.sparc_1.2.0.v20110423-0524.jar
        |-- org.eclipse.core.filesystem.win32.x86_1.1.300.v20110423-0524.jar
        |-- org.eclipse.core.filesystem.win32.x86_64_1.1.300.v20110423-0524.jar
        |-- org.eclipse.core.net.linux.x86_1.1.200.I20110419-0800.jar
        |-- org.eclipse.core.net.linux.x86_64_1.1.0.I20110331-0827.jar
        |-- org.eclipse.core.net.win32.x86_1.0.100.I20110331-0827.jar
        |-- org.eclipse.core.net.win32.x86_64_1.0.100.I20110331-0827.jar
        |-- org.eclipse.core.resources.win32.x86_3.5.100.v20110423-0524.jar
        |-- org.eclipse.equinox.launcher.carbon.macosx_1.1.100.v20110502.jar
        |-- org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.101.v20120109-1504.jar
        |-- org.eclipse.equinox.launcher.cocoa.macosx_1.1.101.v20120109-1504.jar
        |-- org.eclipse.equinox.launcher.gtk.aix.ppc64_1.1.0.v20110530.jar
        |-- org.eclipse.equinox.launcher.gtk.aix.ppc_1.1.0.v20110530.jar
        |-- org.eclipse.equinox.launcher.gtk.hpux.ia64_32_1.0.0.v20110502.jar
        |-- org.eclipse.equinox.launcher.gtk.linux.ppc64_1.0.100.v20110505.jar
        |-- org.eclipse.equinox.launcher.gtk.linux.s390x_1.1.100.v20110505.jar
        |-- org.eclipse.equinox.launcher.gtk.linux.x86_1.1.100.v20110505.jar
        |-- org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505.jar
        |-- org.eclipse.equinox.launcher.gtk.solaris.sparc_1.1.100.v20110505.jar
        |-- org.eclipse.equinox.launcher.gtk.solaris.x86_1.1.100.v20110505.jar
        |-- org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502.jar
        |-- org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502.jar
        |-- org.eclipse.equinox.security.macosx.source_1.100.100.v20100503.jar
        |-- org.eclipse.equinox.security.macosx_1.100.100.v20100503.jar
        |-- org.eclipse.equinox.security.win32.x86.source_1.0.200.v20100503.jar
        |-- org.eclipse.equinox.security.win32.x86_1.0.200.v20100503.jar
        |-- org.eclipse.equinox.security.win32.x86_64.source_1.0.0.v20110502.jar
        |-- org.eclipse.equinox.security.win32.x86_64_1.0.0.v20110502.jar
        |-- org.eclipse.jdt.launching.macosx.source_3.2.100.v20111006_r372.jar
        |-- org.eclipse.jdt.launching.macosx_3.2.100.v20111006_r372.jar
        |-- org.eclipse.jdt.launching.ui.macosx.source_1.0.100.v20111006_r372.jar
        |-- org.eclipse.jdt.launching.ui.macosx_1.0.100.v20111006_r372.jar
        |-- org.eclipse.swt.carbon.macosx.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.carbon.macosx_3.7.2.v3740f.jar
        |-- org.eclipse.swt.cocoa.macosx.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.cocoa.macosx.x86_64.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.cocoa.macosx.x86_64_3.7.2.v3740f.jar
        |-- org.eclipse.swt.cocoa.macosx_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.aix.ppc.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.aix.ppc64.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.aix.ppc64_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.aix.ppc_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.hpux.ia64_32.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.hpux.ia64_32_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.linux.ppc64.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.linux.ppc64_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.linux.s390.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.linux.s390_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.linux.s390x.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.linux.s390x_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.linux.x86.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.linux.x86_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.linux.x86_64.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.linux.x86_64_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.solaris.sparc.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.solaris.sparc_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.solaris.x86.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.gtk.solaris.x86_3.7.2.v3740f.jar
        |-- org.eclipse.swt.win32.win32.x86.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.win32.win32.x86_3.7.2.v3740f.jar
        |-- org.eclipse.swt.win32.win32.x86_64.source_3.7.2.v3740f.jar
        |-- org.eclipse.swt.win32.win32.x86_64_3.7.2.v3740f.jar
        |-- org.eclipse.ui.carbon.source_4.0.100.I20101109-0800.jar
        |-- org.eclipse.ui.carbon_4.0.100.I20101109-0800.jar
        |-- org.eclipse.ui.cocoa.source_1.1.0.I20101109-0800.jar
        |-- org.eclipse.ui.cocoa_1.1.0.I20101109-0800.jar
        |-- org.eclipse.ui.win32.source_3.2.200.v20110928-1505.jar
        |-- org.eclipse.ui.win32_3.2.200.v20110928-1505.jar
        |-- org.eclipse.update.core.linux.source_3.2.200.v20100512.jar
        |-- org.eclipse.update.core.linux_3.2.200.v20100512.jar
        |-- org.eclipse.update.core.win32.source_3.2.200.v20100512.jar
        `-- org.eclipse.update.core.win32_3.2.200.v20100512.jar

我可以使用URL http://my.server/delta来检查。

当我在我的父pom中添加url时:

代码语言:javascript
复制
        <repositories>
            <repository>
                    <id>delta</id>
                    <layout>p2</layout>
                    <url>http://my.server/delta</url>
            </repository>
            <repository>
                    <id>eclipse-platform</id>
                    <layout>p2</layout>
                    <url>http://download.eclipse.org/releases/indigo</url>
            </repository>

它不能提取我的项目所需的插件:

代码语言:javascript
复制
[INFO] Cannot complete the request.  Generating details.
[INFO] Cannot complete the request.  Generating details.
[INFO] {osgi.ws=win32, osgi.os=win32, osgi.arch=x86_64, org.eclipse.update.install.features=true}
[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: com.example.fs 1.0.0.qualifier
[ERROR]   Missing requirement: com.example.fs 1.0.0.qualifier requires 'org.eclipse.ui.carbon 0.0.0' but it could not be found

插件org.eclipse.ui.carbon在生成的contents.xml和artifacts.xml文件中,也在插件目录中:

代码语言:javascript
复制
/<...>/local/apache2/htdocs/delta
    |-- artifacts.xml
    |-- content.xml
    |-- features
    `-- plugins

我不确定为什么maven不能从更新站点获取插件。我如何调试/修复这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-17 07:27:27

事实上,我说得太早了。虽然更新站点/Eclipse/ update /3.7提供了"Eclipse平台启动器“,但我不知道如何获取所有平台的启动程序。

我确实得到了"Eclipse平台启动器“,但现在我的产品缺少以下插件。我们需要这些插件来为几个平台构建产品:

代码语言:javascript
复制
<plugin id="org.eclipse.swt.carbon.macosx" fragment="true"/>
<plugin id="org.eclipse.swt.cocoa.macosx" fragment="true"/>
<plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.aix.ppc" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.aix.ppc64" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.hpux.ia64_32" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.ppc64" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.s390" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.s390x" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.solaris.sparc" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.solaris.x86" fragment="true"/>
<plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>

这就是我最初使用增量包的原因。

我猜问题更多:如何仅使用软件更新站点构建适用于多个平台的产品?

票数 0
EN

Stack Overflow用户

发布于 2014-04-24 19:02:47

Delta Pack的内容已经在"Eclipse Project Updates“更新站点上提供了(例如,http://download.eclipse.org/eclipse/updates/4.3 for Kepler)。只需在目标平台中包含功能组Eclipse RCP和Equinox Target组件即可。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12700225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档