Java Eclipse RCP CSS样式在导出后不起作用
我按照中建议的步骤,通过从org.eclipse.platform复制CSS和images文件夹,为不同的操作系统设置CSS主题 当我从Eclipse启动它时,它工作得很好,但是当我导出产品文件(无论是从Eclipse还是通过Maven)时,根本没有CSS样式 我已经检查了build.properties,css和images文件夹被标记为导出,所以我不明白为什么找不到它们 我正在开发一个移植到4.x的3.x RCP软件Java Eclipse RCP CSS样式在导出后不起作用,java,eclipse,eclipse-rcp,Java,Eclipse,Eclipse Rcp,我按照中建议的步骤,通过从org.eclipse.platform复制CSS和images文件夹,为不同的操作系统设置CSS主题 当我从Eclipse启动它时,它工作得很好,但是当我导出产品文件(无论是从Eclipse还是通过Maven)时,根本没有CSS样式 我已经检查了build.properties,css和images文件夹被标记为导出,所以我不明白为什么找不到它们 我正在开发一个移植到4.x的3.x RCP软件 <extension id="liteproduct"
<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>
我从产品扩展中省略了一些不相关的属性。因此,在greg-449的帮助下,我能够确定在导出RCP时,它需要将包含css和images文件夹的插件打包为目录 我在Manifest.MF中添加了以下内容
Eclipse-BundleShape: dir
当我导出时,样式工作得很好。我至少在Windows上测试过,看起来还可以。还需要检查其他操作系统。如果在
basestylesheeturi
值的开头包含platform:/plugin/com.xyzide.rcp/
,我认为这将在jar中起作用
使用jar占用的空间少了一点,但我注意到Eclipse安装确实使用了一个目录(这可能只是为了更方便地访问文件)。Eclipse有时会将JAR扩展到缓存中,但我认为CSS和图像文件不会这样做。定义产品的plugin.xml中有什么内容?我已经用代码更新了问题。plugin.xml看起来还可以。检查导出的产品插件是否包含css目录。我的产品由两个插件组成:com.xyzide.plugin和com.xyzide.rcp。后者包含css文件,在我导出的产品中是一个jar文件,那么如何检查css文件夹?在my build.properties中,它被选中用于导出。此外,在此之前,我有固定的样式,工作良好(ApplicationSS属性)啊哈。。。我想我找到了。。。出于某种原因,我必须将其导出为目录,而不是jar文件,而且它似乎可以工作。我不知道为什么它与ApplicationSS一起工作,因为它还有一个css和图像文件夹!我认为,如果在
basestylesheeturi
值的开头包含platform:/plugin/com.xyzide.rcp/
(至少这是我所拥有的,它可以工作)。对不起,这可能是一个愚蠢的问题,但有什么理由让我把它作为一个jar而不是一个目录保存吗?你是对的!我怎么会这么傻。。。我回顾了我以前的应用程序代码,这就是我的代码。我猜我只是在论坛上直接使用了这个代码,没有意识到。你能把你的评论作为答案发表吗?我会接受的。很不幸,这似乎不起作用,我不得不恢复到目录设置。这可能与此有关-可能是。我在我的样式表中不使用CSS导入。我在所有OSs上测试了它,它只适用于作为目录的捆绑包。。。。对不起,我将不得不接受你的答案,但我一定会投赞成票!
Eclipse-BundleShape: dir