`
sunway
  • 浏览: 115120 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用Ant 构建Eclipse RCP Product

阅读更多

Keywords:rcp打包,headless build ,ant build rcp product

摘要:

Rcp 让我们可以脱离eclipse环境,作为一个可执行程序独立使用。我们可以使用rcpEclipse Product export wizard来生成rcp,也可以使用ant 脚本来生成rcp应用,使用后者可以给我们带来更大的灵活性和满足我们的更多需求,符合可持续集成的原则,而且生成速度更快,不用打开eclipse,配置人员双击下鼠标就可完成。

在此期间,受到了同事的不少帮助,在此表示感谢。

一、             准备工作

1、安装ant

首先安装apache-ant-1.7.1-bin.zip,在系统环境变量的path=path to ant/bin,这样在cmd下也可以使用ant命令了。

2.下载eclipse3.4.0eclipse-3.4RC4-delta-pack.zip,将eclipse-3.4RC4-delta-pack.zip解开放到 eclipse3.4.0目录下,选择覆盖。如果你的ant脚本打包后的rcp里没有可执行的exe程序,就是因为没有这一步操作。

 

 

二、             修改插件build.xml文件和plugin.xml文件

选择组成我们rcp的插件的plugin.xml文件,或直接双击build.properties,先取消选择上方的“custom build”项,因为我们要通过PDE Tools生成build.xml文件。选中plugin.xml文件,右键选择PDE Tools->Create Ant Build File,PDE自动在当前目录下生成build.xml文件。

1.      修改build.xml文件。

l  修改<pathelement path="../../plugins/…….中的相对路径为<pathelement path="${eclipse.home}/plugins/…….。如果在ant build的过程中出现某个类不能解析的错误,就是因为这里没有改掉相对路径。

l  <javac节点增加encoding="UTF-8",即<javac encoding="UTF-8" destdir=…,这样我们打出的rcp可以正确的显示中文了。如果我们rcp产品里有乱码产生,就是因为没有这样做。

l   

2.      修改plugin.xml文件。

回到plugin.xml文件的Build页,选中上方的“custom build”项,让我们刚修改过的build.xml参与ant build过程。如果我们不需要custom build,就取消选择“custom build”项。如果ant build失败,报找不到某个插件的错误,请先到这个插件的目录下检查plugin.xml文件,看是否选中了“custom build”项,将其取消选择即可解决此问题。

三、             feature工程

在工作空间下建个feature工程,选择File->New->Other->Plug-in Development->Feature Projectnext,输入Project name,next,选中Initialize from the plug-ins list项,勾选rcp需要的所有插件,包括rcp本身。点finish。在feature工程里新建了两个文件:build.propertiesfeature.xml。打开feature.xml文件,选中plug-ins页,在左上角的plug-ins and Fragments里,应该可以看到刚才添加的rcp和它需要的所有插件。如果ant build的过程报找不到某个插件的错误,检查这里。选中Included Features页,在左上角的Included Features里,选右边的Add按钮,增加org.eclipse.rcp插件。

四、             ant脚本工程

这一步是ant build rcp最重要的一步。在当前工作空间下建个script工程,当然也可以是个普通文件目录(如果只在命令行下使用ant命令的话)

我们需要拷贝国际化的语言包插件到我们的rcp中,并且将rcp plugins目录下我们的插件由jar包形式解压缩为目录形式,因为有的插件程序访问不到jar包里的文件。另外还要拷贝一个完整的jre环境到rcp中。

1.在当前工程下建ref目录,目录结构如下:

Ref

   +features

   +jre

   +plugins

Pluginsfeatures是语言包里的两个目录,放了国际化需要的jar包。

Jrejava运行环境,这里用的是jdk1.5

2. 在当前工程下建scripts目录,下面放两个文件:build.propertiesbuild.xml

l  build.properties可以采用如下的模板:

###############################################################################

# Parameters describing how and where to execute the build.

#####################################################

 

#The type of the top level element we are building,  generally "feature"

#topLevelElementType = feature

#The id of the top level element we are building

#topLevelElementId = de.vogella.build.feature

 

############# PRODUCT/PACKAGING CONTROL #############

product=your rcp /your rcp product file name

runPackager=false

 

 

# The prefix that will be used in the generated archive.

archivePrefix=pluginsfeatures的父目录名字

 

############# BASE CONTROL #############

# baselocation must the an working Eclipse installation with the delta pack

 

base=d: #存放上面准备工作中eclipse3.4.0的盘符

baseLocation=${base}/eclipse  #上面准备工作中eclipse3.4.0的硬盘路径

 

############## BUILD NAMING CONTROL ################

# The directory into which the build elements are fetched and where

# the build takes place.

#buildDirectory=D:/workspace-workflow/com.css.sword.workflow.rcp.builder

buildDirectory=D:/builder  #最后生成的rcp存放在此路径

 

#define version various

pdeBuildPluginVersion=3.4.0.v20080604

equinoxLauncherPluginVersion=1.0.100.v20080509-1800

# ID of the build.  Used in naming the build output.

buildId=rcp

left

1
2
分享到:
评论
1 楼 sitoto 2011-11-16  
给个对应的确build.xml 的例子啊,,

相关推荐

    Eclipse RCP 软件打包发布方法

    Eclipse Rich Client Platform (RCP) 是一个强大的框架,用于构建桌面应用程序。它提供了一整套工具和功能,使得开发者可以构建出具有丰富用户界面的应用。在开发完成后,我们需要将这些应用打包并发布,以便用户...

    Eclipse rcp深入浅出中英文版及配套代码

    11. **扩展点(Extension Points)**:这是Eclipse RCP插件系统的关键特性,允许插件之间通过定义和使用扩展点来相互协作。 12. **案例研究和实践**:书中的配套代码(samples.zip)提供了实际的示例,帮助读者将...

    eclipse rcp应用系统开发方法与实战源代码.zip

    Eclipse RCP,全称Eclipse Rich Client Platform,是一种基于Java的开源框架,用于构建桌面应用程序。它由Eclipse基金会维护,是Eclipse IDE的核心组成部分,提供了丰富的UI组件、插件系统以及工作台(Workbench)...

    eclipse RCP Plug-in开发自学教程.pdf

    eclipse RCP(Rich Client Platform)是一种基于eclipse的插件式开发平台,允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序。RCP插件式开发方式可以重用eclipse中的方法和编码模式,提高开发效率和代码...

    EclipseRCP教程

    Eclipse RCP(Rich Client Platform)是一种基于 Eclipse 平台的客户端开发技术,能够帮助开发者快速构建功能强大且界面美观的桌面应用程序。在本教程中,我们将详细介绍 Eclipse RCP 的开发过程、技术要点和注意...

    Eclipse RCP.pdf清晰版

    **Eclipse RCP**(Rich Client Platform)是一种构建丰富客户端应用程序的框架,它利用Eclipse平台的强大功能来创建高度定制化的桌面应用程序。通过RCP,开发者能够专注于业务逻辑而非繁琐的界面设计,极大地提高了...

    Eclipse RCP(富客户端平台)开发中文语言包_3.6.0.rar

    Eclipse RCP(Rich Client Platform)是Eclipse IDE的一个核心组成部分,它提供了一个框架和工具集,用于构建桌面应用程序。Eclipse RCP允许开发者利用Java和SWT(Standard Widget Toolkit)构建功能丰富的、可定制...

    Eclipse Rcp

    Eclipse RCP是一种基于Eclipse平台的富客户端平台技术,它允许...Eclipse RCP的应用程序继承了Eclipse的风格与功能,通过RCP构建的应用程序可以脱离Eclipse环境独立运行,这对于开发Java桌面应用程序具有重要的意义。

    eclipse RCP mp3工程

    【标题】"eclipse RCP mp3工程"指的是一个基于Eclipse Rich Client Platform(RCP)构建的专门处理MP3音频文件的应用程序。Eclipse RCP是一个强大的开发框架,允许开发者创建桌面应用,它提供了丰富的用户界面组件和...

    ECLIPSE+RCP应用系统开发方法与实战(PDF 高岗著)

    《ECLIPSE+RCP应用系统开发方法与实战》这本书是高岗先生关于使用Eclipse RCP(Rich Client Platform)进行应用系统开发的一本实战指南。Eclipse RCP是Eclipse IDE的一部分,它提供了一个框架,使得开发者可以构建...

    EclipseRcp 例子程序

    通过对“Eclipse RCP 例子程序”的深入学习和实践,开发者不仅可以掌握Eclipse RCP的基本使用,还能了解到如何构建复杂、可扩展的桌面应用程序。而"Hyperbola"可能是指一个具体的示例项目或者一个用于演示特定功能的...

    Eclipse RCP培训.zip

    Eclipse Rich Client Platform(RCP)是Eclipse框架下的一个核心组成部分,用于构建桌面应用程序。这个"Eclipse RCP培训.zip"文件很可能包含了关于如何开发基于Eclipse RCP的应用程序的各种教程、示例代码和讲解材料...

    Eclipse RCP 插件开发指南

    Eclipse RCP(Rich Client Platform)插件开发是构建基于Eclipse框架的应用程序的核心技术之一。本指南旨在帮助开发者从零开始掌握Eclipse RCP插件开发的基础知识及实战技巧。 ##### Introduction Eclipse RCP 是...

    Eclipse RCP中使用第三方包

    使用Eclipse RCP,可以快速构建功能强大的客户端应用程序。然而,在实际开发中,我们经常需要使用第三方包来实现某些功能,这篇文章将介绍如何在Eclipse RCP中使用第三方包。 首先,我们需要新建一个Eclipse RCP...

    Eclipse RCP与Spring OSGi技术详解与最佳实践

    高级篇(第6-12章)系统讲解了Eclipse RCP应用开发的基础知识、Eclipse RCP软件产品各个组成部分的构建方法,以及Eclipse RCP扩展的使用和扩展点的开发,掌握这些技术知识的读者将能构建一个结构完整的Eclipse RCP...

    documents about Eclipse RCP

    4. **示例应用**:`example_rcp_applications_v2.pdf`可能是包含实际RCP应用的案例研究,这些案例将展示如何使用RCP来构建复杂的应用程序,以及在实践中可能遇到的问题和解决方案。 5. **HTML文章**:`article....

    Eclipse RCP开发详解

    Eclipse Rich Client Platform (RCP) 是一个强大的框架,用于构建桌面应用程序,它基于Java语言并利用了Eclipse IDE的核心技术。Eclipse RCP允许开发者创建功能丰富的、可扩展的应用程序,这些应用程序拥有与Eclipse...

    菜鸟EclipseRCP学习之路

    在IT行业中,Eclipse RCP(Rich Client Platform)是一个强大的框架,用于构建桌面应用程序。它基于Java语言,由Eclipse基金会开发,为开发者提供了一套完整的工具集来创建功能丰富的、可扩展的应用程序。"菜鸟...

    Eclipse Rcp comon Navigator demo

    Eclipse RCP(Rich Client Platform)是一个开源框架,用于构建桌面应用程序。Common Navigator是Eclipse RCP中的一个重要组件,它提供了一种通用的资源浏览和管理界面。在本"Common Navigator demo"中,我们将深入...

Global site tag (gtag.js) - Google Analytics