eclipse中的配置文件

Eclipse中的config.ini文件

Config.ini文件创建的三种方式

l  手动编写

l  通过eclipse自动生成

l  Eclipse生成的文件进行手动修改(混合)

手动编写

……

通过eclipse生成

l  RCP工程运行:运行—>配置…-->配置选项卡设置。生成的config.ini文件存在位置:E:\workspace\.metadata\.plugins\org.eclipse.pde.core\mu.application\config.ini

l  通过产品配置运行:产品配置.product-->配置选项卡中设置。生成的config.ini文件存在位置:E:\workspace\.metadata\.plugins\org.eclipse.pde.core\mu.product\config.ini,在该选项卡中还可以通过属性Section增加属性(免去再一次手动编辑)。

Config.ini文件中属性的使用

配置文件中的属性值可通过System.getProperty(属性);的方式取得。

Rcp工程运行时应用ini

Rcp工程运行时需要在:运行—>配置…-->配置选项卡中设定是否使用默认的配置文件。

产品配置启动时应用ini

运行产品配置时,产品配置.product-->配置选项卡中设置如何使用配置文件,然后在概述选项卡中运行“启动eclipse应用程序”。

在某个时候,出现这种情况,通过在概述选项卡启动,没什么问题;而在菜单“运行”中找到曾经运行过的该产品配置的“xxx.product”时,会出现没有加载到ini文件的现象。这是因为不同步产生的。需要我们在eclipse菜单“运行”-->“运行配置”—>“配置”选项卡中重新选择一下ini文件(product配置没能将config.ini同步到运行中)。

导出产品运行时应用ini

导出产品时需要在工程的build.properties中(构建选项卡)中选择将inip2文件等资源一起导出。运行程序可能出现:java.lang.RuntimeException: 应用程序编号没有找到。应该是读取配置文件时,找不到启动的类。因此在config.ini文件中添加eclipse.application=XXX.applicationeclipse.product=XXX.product;又出现错误:!MESSAGE chenupdatercp_1 的激活程序 chenupdatercp_1.Activator 无效。其原因不知。

是不是我们自己写的config.ini文件有问题?那么我们不使用自编的config.ini文件,让程序自动生成一个。发现了问题,自编的config.ini文件是从运行该rcp程序或是产品配置时自动生成到E:\workspace\.metadata\.plugins\org.eclipse.pde.core\mu.product中的文件拷贝的,然后修改了一下,这个config并不适合在导出的产品中应用(可在rcp工程运行,产品配置在eclipse中运行时使用)。也就是说:导出产品生成的ini文件与运行时产生的ini文件内容有诸多不一样。

因此,我们导出时默认生成一个config.ini文件然后加入我们自己设置的变量及值,比如加入我们的更新站点URL[email protected]/../p2以及eclipse.p2.profile=epp.package.modeling等这几个属性是更新系统所需要的。

其实在产品配置product中的配置选项卡中,我们选择生成缺省的confgi.ini文件,然后在下面属性Section中编辑需要在config.ini文件中需要特别指出的属性及值。

 

推荐使用自动生成的ini文件,一些属性在属性Section中添加进去。

 

在自动更新应用中:(使用eclipseplatform中的两个更新菜单,太难用了,没搞懂)

 

经过上面的布置,我们重新导出也好,修改config.ini文件也好,再次运行程序,发现更新还是不能用,报错仍旧是eclipse.p2.data.areaeclipse.p2.profile没有正确的配置!!经过考虑,我们发现p2文件夹是在运行时生成的,内只有一个org.eclipse.equinox.p2.engine文件夹,该文件夹下没有任何内容,对比eclipse同样目录下或者我们再运行rcp工程或是product配置时同样目录下,发现都有一个epp.package.modeling.profile文件夹,我们拷贝一下,其文件夹中123456789.profile.gz文件留一个就行了。

运行测试,发现程序能正常运行,在install new software…打开update对话框。更新,有可能仍旧出错。一般原因是找不到一些feature或者plugin

猜你喜欢

转载自sdfx.iteye.com/blog/1912075