如何使用 Indigo 设置 Eclipse PDE/Build?

2024-01-17

在我的项目中,我使用 PDE/Build 在 Hudson 的远程服务器上构建我的 RCP 应用程序。 当前版本是基于 Eclipse Galileo 的包,它作为构建器应用程序和目标平台都可以正常工作。

现在我想将其升级到 Indigo,我需要一些帮助。

首先,解压多个 zip 来形成目标平台的旧方法不起作用。 (我使用了 Platform Runtime Binary、Delta pack、PDE Runtime Binary 和 JDT Runtime Binary - 我提出的一组既可以用作构建器也可以用作目标平台)。

好的,有新的目标定义。我该如何配置它,使其符合我的伽利略设置?(当然,如果它更简单/更干净,我不会介意)。

我尝试了以下方法:

  1. 添加了 Eclipse RCP、Eclipse RCP 插件开发人员资源(源代码)、PDE/API 工具环境(来自 download.eclipse.org/eclipse/updates/3.7)
  2. 从 download.eclipse.org/releases/indigo 添加了 Eclipse Java 开发
  3. 从 download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/download.php?dropFile=eclipse-3.7-delta-pack.zip 手动下载增量包,解压并添加生成的目录(作为目录)到目标定义。顺便问一下,有 Indigo delta pack 的更新站点吗?
  4. 添加了来自 Eclipse Orbit p2 站点的几个第三方插件:download.eclipse.org/tools/orbit/downloads/drops/R20110523182458/repository

然后,我使用了定义的“设置为目标平台” - 我的项目在我的工作区中构建得很好 - 这很好! 然后我将平台导出到 . 现在,如果我尝试像这样执行我的构建:

java -jar <target-platform>\plugins\org.eclipse.equinox.launcher_1.2.0.v20110502.jar -application org.eclipse.ant.core.antRunner -buildfile <target-platform>/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/productBuild/productBuild.xml -Dbuilder=<pdebuild-folder>

or even

java -jar <target-platform>\plugins\org.eclipse.equinox.launcher_1.2.0.v20110502.jar

我收到以下错误:

发生了错误。查看日志文件\configuration\1316517334675.log

日志包含以下内容:

!会议 2011-09-20 15:15:34.269 eclipse.buildId=未知 java.version=1.7.0 java.vendor=Oracle 公司 BootLoader 常量:OS=win32、ARCH=x86、WS=win32、NL=en_US

!ENTRY org.eclipse.osgi 4 0 2011-09-20 15:15:35.175 !MESSAGE 应用程序错误 !堆栈1 java.lang.IllegalStateException:无法获取应用程序服务。确保 org.eclipse.core.runtime 包已解析并启动(请参阅 config.ini)。 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(来源未知) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(来源未知) 在 java.lang.reflect.Method.invoke(来源未知) 在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) 在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) 在 org.eclipse.equinox.launcher.Main.run(Main.java:1410) 在 org.eclipse.equinox.launcher.Main.main(Main.java:1386)


最终针对“RCP 和 RAP 开发人员的 Eclipse”以及 delta pack 和 SWTBot 进行了基于 Maven 的构建。 两者都已部署到我的 Maven 存储库,并在构建期间解压(如果需要)。因此,我不再关心目标平台的大小。

<build>

    <plugins>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.4</version>
            <executions>
                <!-- Deploy target platform if required -->
                <execution>
                    <id>unpack-target-platform</id>
                    <phase>initialize</phase>
                    <goals>
                        <goal>unpack</goal>
                    </goals>

                    <configuration>
                        <markersDirectory>${target.platform.dir}</markersDirectory>
                        <artifactItems>
                            <artifactItem>
                                <groupId>org.eclipse</groupId>
                                <artifactId>rcp-target-platform</artifactId>
                                <version>3.7.2-win32-x86_64</version>
                                <type>zip</type>
                                <outputDirectory>${target.platform.dir.sdk}</outputDirectory>
                            </artifactItem>

                            <artifactItem>
                                <groupId>org.eclipse</groupId>
                                <artifactId>rcp-target-platform-delta-pack</artifactId>
                                <version>3.7.2</version>
                                <type>zip</type>
                                <outputDirectory>${target.platform.dir.deltapack}</outputDirectory>
                            </artifactItem>

                            <artifactItem>
                                <groupId>org.eclipse</groupId>
                                <artifactId>swtbot.eclipse</artifactId>
                                <version>2.0.5.20111003_1754-3676ac8-dev-e36</version>
                                <type>zip</type>
                                <outputDirectory>${target.platform.dir.swtbot}</outputDirectory>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>

            </executions>

        </plugin>
    </plugins>
</build>



<properties>
    <!-- Build system properties -->
    <target.platform.dir>/rcp-target-platform-3.7.2</target.platform.dir>

    <target.platform.dir.swtbot>${target.platform.dir}/swtbot</target.platform.dir.swtbot>
    <target.platform.dir.swtbot.plugins>${target.platform.dir.swtbot}/eclipse/plugins</target.platform.dir.swtbot.plugins>

    <target.platform.dir.sdk>${target.platform.dir}/sdk</target.platform.dir.sdk>
    <target.platform.dir.sdk.plugins>${target.platform.dir.sdk}/eclipse/plugins</target.platform.dir.sdk.plugins>

    <target.platform.dir.deltapack>${target.platform.dir}/deltapack</target.platform.dir.deltapack>
    <target.platform.dir.deltapack.plugins>${target.platform.dir.deltapack}/eclipse/plugins</target.platform.dir.deltapack.plugins>

    <pdebuild.launcherVersion>1.2.0.v20110502</pdebuild.launcherVersion>
    <pdebuild.plugin.version>3.7.0.v20111116-2009</pdebuild.plugin.version>

    <pdebuild.antDelegateBuildfile>${pdebuild.configDirectory}/pdebuild-ant-from-mvn.xml</pdebuild.antDelegateBuildfile>
    <pdebuild.configDirectory>${basedir}/pdebuild</pdebuild.configDirectory>

    <pdebuild.buildDirectory>${project.build.directory}/${pdebuild.directory}</pdebuild.buildDirectory>
    <pdebuild.directory>pde-build</pdebuild.directory>
</properties>

然后我从 Maven 中调用 ant build,如下所示:

        <!-- Delegate execution to PDE/Build via ant -->
        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.7</version>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <configuration>
                        <target>
                            <ant antfile="${pdebuild.antDelegateBuildfile}">
                                <property name="equinoxLauncherPluginVersion" value="${pdebuild.launcherVersion}" />
                                <property name="pdeBuildPluginVersion" value="${pdebuild.plugin.version}" />
                                <property name="projectsDirectory" value="${basedir}" />
                                <property name="baseLocation" value="${target.platform.dir}" />
                                <property name="buildDirectory" value="${pdebuild.buildDirectory}" />
                                <property name="builder" value="${pdebuild.configDirectory}" />
                                <property name="product" value="${gui.product}"/>
                                <property name="runPackager" value="${pdebuild.runPackager}"/>
                            </ant>
                        </target>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

我对现在的设置很满意。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Indigo 设置 Eclipse PDE/Build? 的相关文章

  • Tomcat从Eclipse和startup.sh启动

    奇怪的事情发生了 我可以从 Eclipse 和startup sh 启动Tomcat 从 Eclipse 运行我可以访问 localhost 8080 而从startup sh 运行时我不能 可能是什么问题呢 Ubuntu 11 10 在
  • 将 Eclipse 中的路径/文件名复制到剪贴板

    是否有将当前路径 文件复制到剪贴板的快捷方式 Just select the file tab and hit Ctrl C to copy file basename into clipboard Hit Alt Enter to bri
  • Makefile 和 .Mak 文件 + CodeBlocks 和 VStudio

    我对整个 makefile 概念有点陌生 所以我对此有一些疑问 我正在 Linux 中使用 CodeBlocks 创建一个项目 我使用一个名为 cbp2mak 的工具从 CodeBlocks 项目创建一个 make 文件 如果有人知道更好的
  • Java 7 中 Object 和 int 的比较

    最近我偶然发现了一个问题 让我停下来思考 对我来说 下面的代码应该总是会触发错误 但是当我的一位同事问我为什么 Eclipse 没有显示错误时 我无法回答任何问题 class A public static void main String
  • java 1.8下无法启动eclipse

    java 1 8 升级后我无法启动 eclipse 附上错误截图 这是我的 eclipse 配置设置 我该如何解决 startup plugins org eclipse equinox launcher 1 3 0 v20120522 1
  • 如何在 Eclipse 中更改动态 Web 项目的上下文根?

    我在 Eclipse 中开发了一个动态 Web 项目 我可以使用以下 URL 通过浏览器访问该应用程序 http localhost 8080 MyDynamicWebApp 我想将访问URL更改为 http localhost 8080
  • SWT 设置列高或插入新行

    我目前有一个带有几个 TableColumn 的表 org eclipse swt widgets Table 然而 由于用户界面空间的限制 我遇到了一些问题 举例来说 我有一个名为 目标用户 的表列 并且不能将其命名为其他任何名称 并且必
  • 用于 Eclipse PDT 的 Zend 框架插件

    我安装了 eclipse PDT IDE 版本 1 2 0 我将它与 Dojo 一起使用来开发非常有趣的 Ajax 应用程序 现在我想在我的 eclipse IDE 中启用 Zend 框架 我怎样才能做到这一点 经过一番谷歌搜索后 我尝试了
  • 如何告诉 Eclipse 忽略 Ant build.xml 中的错误?

    我有一个使用 Maven 构建的 Eclipse 项目 并且我在 Eclipse 中使用 m2eclipse 插件来获得 Maven 支持 然而这个项目还包含一个build xml它并不用于实际构建项目 而只是用于编写脚本功能 作为项目开发
  • 如何在eclipse中打开项目

    我下载了 LISTView 教程的 zip 文件 其中包含所有文件 但我不知道如何在 Eclipse 中打开它 因为它只是打开文件 而不是整个项目 我从这里下载的 http mfarhan133 wordpress com 2010 10
  • 将 Tomcat 插件添加到 Flex Builder

    无论如何 我们可以将 tomcat eclipse 插件添加到 Adob e Flex Builder 3 中吗 换句话说 我们可以将所有 Eclipse 插件也添加到 Flex Builder 中吗 我不确定 Tomcat 的情况如何 但
  • 如何使用 Eclipse 从我的设备检索我的应用程序的沙箱?

    我有一个 Android 应用程序 它使用共享首选项 我使用 Eclipse 在 Android 设备中运行该应用程序 我想拉整个sandbox来自设备到桌面这样我就可以手动查看sharedPreferences的内容 我点击了DDMS并点
  • java.lang.ClassCastException:类 org.springframework.web.servlet.DispatcherServlet 无法转换为类 jakarta.servlet.Servlet

    我已经看到了与我类似的问题的答案 但我已经尝试了一切 错误并没有消失 据我所知 api servlet 类是由两个不同的类加载器加载的 因为 Web 部署程序集中有多个源 我尝试使用 servlet api 3 0 alpha 1 jar
  • Eclipse java 断点 - 目的是什么?

    我正在学习 Android 教程 刚刚进入调试部分 我想知道断点的用途是什么 我还不能告诉 它实际上停止了应用程序 以便我可以确定它运行到该点 或者我可以设置多个断点并将它们用作标记来从断点到断点检查 停止和运行 我的代码 断点是执行停止的
  • 如何为 eclipse PHP 调试设置正确的 URL

    我在使用非标准 URL 在 Eclipse 中设置 PHP 调试时遇到问题 我的应用程序的 URL 必须是http xxx index php http xxx index php 这是我无法轻易改变的 我在设置调试配置来调用此 URL 时
  • 如何在 Windows Vista 命令提示符中检查端口 8080?

    我对编程和设置 Java 服务器非常陌生 其实这是我第一次尝试 但没有成功 我即将用 Java 测试我的第一个 Web 应用程序 但是每当我在 Eclipse 中单击 以调试模式启动服务器 按钮时 我总是收到有关 Tomcat 服务器的错误
  • 从 Android 函数更新 Textview

    有人可以告诉我如何从函数更新 Android Textview 控件吗 我在互联网上进行了深入搜索 看到很多人都问同样的问题 我测试了线程但无法工作 有人有一个简单的工作示例吗 例如 调用一个函数 在循环中运行多次 并且该函数在 TextV
  • 在红帽 JBoss Developer Studio (Devstudio) 中使用 Eclipse Marketplace 客户端

    我想问您是否 以及如何 可以在 Red Hat JBoss Developer Studio 10 3 0 GA 中使用 Eclipse Marketplace 我尝试从 1 安装 EMPC 但版本看起来有点旧 之后无法运行 基本上我想将
  • 将处理项目移至 Eclipse

    我已经在处理项目上工作了一段时间 现在想将其移至 Eclipse 中 我已经在 Eclipse 环境中安装了 Proclipse 我有很多扩展名为 pde 的文件 然而 Proclipse 文件都以 java 结尾 所有 pde 文件都存在
  • 如何从 Anaconda 更新 Pandas 以及最后是否可以使用 eclipse

    我已经使用以下文档通过 Anaconda 安装了 Python http www kevinsheppard com images 0 09 Python introduction pdf http www kevinsheppard co

随机推荐

  • 如何调整 Spring Data JDBC 的 NamingStrategy

    我如何调整 Spring Data JDBCNamingStrategy表现得像 Hibernate 一样PhysicalNamingStrategy 我有以下实体 Campus domain model class Handles inf
  • 是否可以制作 HTML 标签? [复制]

    这个问题在这里已经有答案了 是什么阻止我这样做
  • 如何在 ReactiveUI 7 中正确直接调用 ReactiveCommand.Execute()?

    我正在尝试将我的项目从 ReactiveUI 6 5 转换为版本 7 在旧版本中我调用 var command ReactiveCommand Create if command CanExecute null command Execut
  • gitignore 是否会阻止 git 拉取文件?

    对于 gitignore 文件的功能有以下几种描述 gitignore 指定要忽略的故意未跟踪的文件 git https git scm com docs gitignore 有时 您不希望 Git 将某些文件签入到 GitHub 有几种方
  • 字符串replace()和replaceAll()之间的区别

    java lang String 之间有什么区别replace and replaceAll 方法 除了后者使用正则表达式 对于简单的替换 例如替换 with 有什么区别吗 In java lang String https docs or
  • Youtube API V3 Java 任何可能无需调用浏览器上传视频

    嗨 我希望有人可以帮助我 我的本地计算机上有一个 Java 应用程序 我正在尝试将视频上传到 YouTube 将视频上传到经过身份验证的用户的频道 使用 OAuth 2 0 授权请求 效果很好 源代码来自Youtube API V3 类名称
  • 覆盖烧瓶蓝图中的路线

    有一个蓝图 定义了很多有用的路线 但我无法控制它 无法以任何方式更改它的代码 尝试在不同的应用程序中重用它 但蓝图的端点之一必须重载 我怎样才能做到这一点 我尝试在现有路线的基础上添加一条新的蓝图路线 blueprint route my
  • 行背景颜色 GtkTreeView 小部件

    我正在尝试将 gtk 树视图小部件中禁用的行着色为浅灰色 根据我所读到的内容 我应该设置相应 cellrenderer 的 background gdk 属性并将其绑定到模型列 这种作品 Gtk CellRendererText textR
  • 程序化 Jetty 关闭

    如何以编程方式关闭嵌入式jetty服务器 我像这样启动码头服务器 Server server new Server 8090 server start server join 现在 我想根据请求关闭它 例如http 127 0 0 1 80
  • 获取远程文件的最后修改日期

    我想通过curl 获取远程文件的最后修改日期 有谁知道这是怎么做到的吗 你可能可以使用这样做curl getinfo http php net manual en function curl getinfo php
  • Delphi:如何聚合 TClientDataset 中的范围记录?

    我需要使用一些聚合TClient数据集 在 SQL 中 这些聚合可以使用如下脚本完成 Select Sum column1 from table1 where Date Column lt Date Value 因为我在很长的过程和非常慢的
  • Symfony 2 Assetic 致命错误:在资产转储上找不到类“Assetic\Util\PathUtils”

    我将 Symfony 版本 2 1 10 与 Assetic 一起使用 在上次作曲家更新后 当我尝试运行时出现以下错误php app console assetic dump Dumping all dev assets Debug mod
  • 如何增加 vim 中行号边距的间距?

    我的 vim 配色方案有问题 source tinygrab com http new tinygrab com ca56d2c7a8e13f7077012bece6abd90e png 行号与代码太接近 如何增加行号右边距的宽度 这也困扰
  • 如何在 Eloquent ORM laravel 中获取最后一个插入 id

    我正在使用 Eloquent ORM in Laravel 执行数据库操作 我只想获取数据库中最后一次插入的id 不是最大id 我搜索了 laravel Eloquent ORM 中的最后一个插入 id 我得到了以下链接 Laravel 使
  • DataTables 渲染自定义列

    是否可以在 DataTables net 中呈现自定义列 我已经阅读了很多教程和文档 但无法使其正常工作 我想创建带有链接的第三列 我在其中使用第一列中的信息 我的代码如下所示 document ready function categor
  • java 正则表达式:替换 ${var}

    我正在尝试替换一个字符串 例如 Hello my name is name I am age years old with Hello my name is Johannes I am 22 years old 变量存储在 HashMap
  • canvas.toDataURL() 导致安全错误

    我正在使用 HTML5 画布和 toDataURL 功能通过动力学JS http www html5canvastutorials com kineticjs html5 canvas stage data url with kinetic
  • Spring 缓存 - 忽略键的参数

    我想缓存一个具有可选参数 下面示例中的用户代理 的简单 getter 的结果 如何在不考虑可选用户代理参数的情况下指示创建密钥 Cacheable value bookCache public Book getBooks RequestHe
  • 了解可见性:根据 W3C 文档折叠表列

    来自 W3C 的动态行列效果 https www w3 org TR CSS22 tables html dynamic effects 此折叠值会导致整个行或列从显示中删除 并且通常由行或列占用的空间可用于其他内容 从上面我的理解是 如果
  • 如何使用 Indigo 设置 Eclipse PDE/Build?

    在我的项目中 我使用 PDE Build 在 Hudson 的远程服务器上构建我的 RCP 应用程序 当前版本是基于 Eclipse Galileo 的包 它作为构建器应用程序和目标平台都可以正常工作 现在我想将其升级到 Indigo 我需