Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 访问wicket应用程序中maven依赖项的资源_Java_Maven_Wicket - Fatal编程技术网

Java 访问wicket应用程序中maven依赖项的资源

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文件

我有两个maven项目

组件:包含wicket组件。所有这些wicket组件都依赖于一个名为
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您可以禁用该阻止。