Java 访问wicket应用程序中maven依赖项的资源
我有两个maven项目 组件:包含wicket组件。所有这些wicket组件都依赖于一个名为Java 访问wicket应用程序中maven依赖项的资源,java,maven,wicket,Java,Maven,Wicket,我有两个maven项目 组件:包含wicket组件。所有这些wicket组件都依赖于一个名为component.css的样式表。样式表由libsass maven插件生成,并输出到projet.build.directory。(直接进入目标文件夹)此项目打包为jar web应用程序:这是打包为war的(wicket)web应用程序的项目 我的问题是,我就是找不到一种方法将componet.css作为外部资源包含在我的web app项目中 我尝试使用maven war插件将其包含到webapp文件
component.css
的样式表。样式表由libsass maven插件生成,并输出到projet.build.directory
。(直接进入目标文件夹)此项目打包为jar
web应用程序:这是打包为war的(wicket)web应用程序的项目
我的问题是,我就是找不到一种方法将componet.css
作为外部资源包含在我的web app项目中
我尝试使用maven war插件将其包含到webapp文件夹中,并将其作为html中的
加载,但这不起作用,因为组件不是war项目
然后我尝试使用newcssresourcereference(SomeClass.class,“/component.css”)
让wicket生成
元素,但我得到一个错误,即对(静态)包资源的访问被拒绝
我最后一个可能的解决方案是在组件中创建一个类,并生成与该类相关的组件.css
。但不知何故,即使这样也不起作用
然后我尝试使用新的CssResourceReference(SomeClass.class,“/component.css”)让wicket生成元素,但我得到一个错误,即对(静态)包资源的访问被拒绝
这应该行得通。Wicket的默认设置允许提供.css
静态文件[1]。您是否使用禁用.css
的自定义IPackageResourceGuard
谢谢你,马丁,你回答得很快。我正在使用默认的resourceguard,但是经过一些测试,我发现
/css/component.css
没有被阻止,而/component.css
被阻止。因此,我将生成的component.css
的输出文件夹更改为css/component.css
,并尝试使用new CssResourceReference(someClass,“/css/component.css”)
加载它。这导致前端出现404,甚至通过PackageResource#getResourceStream()
返回了包含正确数据的流。作为最后一次尝试,我尝试将资源装载到一个特定的路径,它成功了。默认情况下,资源文件夹根目录中的文件被阻止,iirc您可以禁用该阻止。