java - Eclipse RCP CSS 样式导出后不起作用

标签 java eclipse eclipse-rcp

我按照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>

我在产品扩展中省略了一些不相关的属性。

最佳答案

我认为如果您在 basestylesheeturi 值的开头包含 platform:/plugin/com.xyzide.rcp/ ,这将在 jar 中起作用。

使用 jar 使用的空间要少一些,但我注意到 Eclipse 安装确实使用了一个目录(这可能只是为了更容易访问此文件)。 Eclipse 有时确实会将 jar 扩展到其缓存中,但我认为 CSS 和图像文件不会这样做。

关于java - Eclipse RCP CSS 样式导出后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19357768/

相关文章:

java - 缺少服务器异常 Spring Boot

Java8 将要映射的列表列表分组

java - 运行配置缺少参数选项卡

Eclipse:无论正在编辑哪个文件,我怎样才能使 Ctrl+F11 工作?

java - 在 osgi 中使用 ucanaccess 时出错

java - Eclipse插件: Order of Native Libraries in the "Bundle-NativeCode" Section

java - 在 ActionListener 中调用

programming-languages - 如何解析和列出 java 文件或代码块中使用的类字段、构造函数和方法?

android - 我为 Android 使用什么版本的 Eclipse?

java - 拖动 block 时重绘控制流线