Osgi 是否可以更改VAADIN中默认主题文件夹的位置?

Osgi 是否可以更改VAADIN中默认主题文件夹的位置?,osgi,vaadin,Osgi,Vaadin,我目前正在OSGi中使用vaadin 6 我想创建一个新的主题,但由于我使用OSGi,我无法在VAADIN/theme文件夹下添加一个主题,因为我没有访问它的权限 我想告诉vaadin使用HTTP命名空间中的另一个URL查找我的主题 我能做到这一点吗?setTheme()方法只接受字符串,如果可以为主题注册另一个默认文件夹,我在任何地方都找不到 谢谢不,不幸的是这是不可能的 从这里开始: 自定义主题放置在web应用程序的VAADIN/themes文件夹中(在WebContent目录中),如图8.

我目前正在OSGi中使用vaadin 6

我想创建一个新的主题,但由于我使用OSGi,我无法在VAADIN/theme文件夹下添加一个主题,因为我没有访问它的权限

我想告诉vaadin使用HTTP命名空间中的另一个URL查找我的主题

我能做到这一点吗?setTheme()方法只接受字符串,如果可以为主题注册另一个默认文件夹,我在任何地方都找不到


谢谢

不,不幸的是这是不可能的

从这里开始:


自定义主题放置在web应用程序的VAADIN/themes文件夹中(在WebContent目录中),如图8.1“主题的内容”所示此位置是固定的。对于应用程序中使用的每个主题,您都需要一个主题文件夹,尽管应用程序很少需要一个以上的主题。例如,如果您想定义一个名为mytheme的主题,您将把它放在文件夹VAADIN/themes/mytheme中

不,不幸的是,这是不可能的

从这里开始:


自定义主题放置在web应用程序的VAADIN/themes文件夹中(在WebContent目录中),如图8.1“主题的内容”所示此位置是固定的。对于应用程序中使用的每个主题,您都需要一个主题文件夹,尽管应用程序很少需要一个以上的主题。例如,如果您想定义一个名为mytheme的主题,您将把它放在文件夹VAADIN/themes/mytheme中

您可以通过在片段包中创建主题,然后将其附加到Vaadin包来实现这一点。这实际上会将资源合并/附加到主机包中。 因此,您提供:

VAADIN/themes/mytheme/

并使用

片段主机

着手

瓦丁6:com.Vaadin;bundle version=“${vaadin.version}”


Vaadin 7:
com.Vaadin.client-compiled;bundle version=“${vaadin.version}”

您可以通过在片段束中创建主题,然后将其附加到vaadin束来完成此操作。这实际上会将资源合并/附加到主机包中。 因此,您提供:

VAADIN/themes/mytheme/

并使用

片段主机

着手

瓦丁6:com.Vaadin;bundle version=“${vaadin.version}”


Vaadin 7:
com.Vaadin.client-compiled;bundle version=“${vaadin.version}”

您也可以尝试pax for vaadin,它还没有发布,我需要一些时间来做更多的工作,但它应该适合您的用例。它试图在包中查找vaadin应用程序和主题


您也可以尝试pax for vaadin,它还没有发布,我还需要一些时间来做更多的工作,但它应该适合您的用例。它试图在包中查找vaadin应用程序和主题


谢谢!几周后我有更多时间的时候再去看看。碎片包解决方案很有效,我很想再进一步。谢谢!几周后我有更多时间的时候再去看看。碎片束解决方案很有效,我很想走得更远。