我按照this forum中建议的步骤,通过从org.eclipse.platform复制css和images文件夹来获取不同操作系统的CSS主题。
当我从Eclipse启动它时它工作正常但是当我导出产品文件时(无论是从Eclipse还是通过Maven),根本没有CSS样式。
我已经检查了build.properties并且css和images文件夹被标记为导出,所以我不明白它为什么找不到它们。
我正在研究3.x RCP软迁移到4.x
<extension
id="liteproduct"
point="org.eclipse.core.runtime.products">
<product
application="com.xyzide.rcp.application"
name="XYZ IDE">
<property
name="applicationXMI"
value="com.xyzide.rcp/LegacyIDE.e4xmi">
</property>
<property
name="cssTheme"
value="com.xyzide.ui.css.theme.e4_default">
</property>
<property
name="applicationCSSResources"
value="platform:/plugin/com.xyzide.rcp/images/">
</property>
</product>
<extension
point="org.eclipse.e4.ui.css.swt.theme">
<theme
basestylesheeturi="css/e4_default.css"
id="com.xyzide.ui.css.theme.e4_default.noos"
label="Default Theme">
</theme>
<theme
basestylesheeturi="css/e4_classic_winxp.css"
id="com.xyzide.ui.css.theme.e4_classic"
label="Classic">
</theme>
<theme
basestylesheeturi="css/e4_default_gtk.css"
id="com.xyzide.ui.css.theme.e4_default"
label="GTK"
os="linux">
</theme>
<theme
basestylesheeturi="css/e4_default_mac.css"
id="com.xyzide.ui.css.theme.e4_default"
label="Mac"
os="macosx">
</theme>
<theme
basestylesheeturi="css/e4_default_win7.css"
id="com.xyzide.ui.css.theme.e4_default"
label="Windows 7"
os="win32"
os_version="6.1">
</theme>
<theme
basestylesheeturi="css/e4_default_winxp_blu.css"
id="com.xyzide.ui.css.theme.e4_default"
label="Windows XP Blue"
os="win32">
</theme>
<theme
basestylesheeturi="css/e4_default_winxp_olv.css"
id="com.xyzide.ui.css.theme.e4_default.xpolive"
label="Windows XP Olive"
os="win32">
</theme>
<theme
basestylesheeturi="css/e4_classic_win7.css"
id="com.xyzide.ui.css.theme.e4_classic"
label="Windows 7 Classic"
os="win32"
os_version="6.1">
</theme>
<theme
basestylesheeturi="css/e4_default_gtk.css"
id="com.xyzide.ui.css.theme.e4_default"
label="Solaris"
os="solaris">
</theme>
<theme
basestylesheeturi="css/e4_default_gtk.css"
id="com.xyzide.ui.css.theme.e4_default"
label="AIX"
os="aix">
</theme>
<theme
basestylesheeturi="css/e4_classic_winxp.css"
id="com.xyzide.ui.css.theme.e4_default"
label="HPUX"
os="hpux">
</theme>
</extension>
我已从产品扩展中省略了一些不相关的属性。
答案 0 :(得分:2)
如果您在platform:/plugin/com.xyzide.rcp/
值的开头包含basestylesheeturi
,我认为这可以在jar中使用。
使用jar会占用更少的空间,但我注意到Eclipse安装确实使用了一个目录(这可能只是为了让它更容易访问这些文件)。 Eclipse确实有时会将jar扩展到其缓存中,但我不认为这是针对CSS和图像文件完成的。
答案 1 :(得分:0)
因此,在greg-449的帮助下,我能够确定在导出RCP时,需要将包含css和images文件夹的插件打包为目录。
我将以下内容添加到我的Manifest.MF
中Eclipse-BundleShape: dir
当我导出时,造型效果很好。我至少在Windows上测试过,看起来还不错。还需要检查其他操作系统。