Java 使用maven的Web片段

Java 使用maven的Web片段,java,spring,maven,servlet-filters,web-fragment,Java,Spring,Maven,Servlet Filters,Web Fragment,我刚刚发现了web片段,我想在我的可插拔应用程序中使用它们。基本上,我正在构建一个插件,它将包含我的应用程序的安全部分(基于SpringSecurity)。web片段仅包含servlet筛选器: <!-- Loads the security fragment first --> <ordering> <before> <others /> </before> </ordering> <

我刚刚发现了web片段,我想在我的可插拔应用程序中使用它们。基本上,我正在构建一个插件,它将包含我的应用程序的安全部分(基于SpringSecurity)。web片段仅包含servlet筛选器:

<!-- Loads the security fragment first -->
<ordering>
    <before>
        <others />
    </before>
</ordering>

<!-- Spring security filter -->
<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
问题是它根本不起作用。如果我在主应用程序中测试它,过滤器工作正常,但如果我把它放在这里,我不会拦截任何呼叫。我认为这可能是由maven构建引起的。我把这个项目打包成一个罐子,因为我已经读过很多书了。web-fragment.xml位于/bin/META-INF/下

谁能解释一下我做错了什么


谢谢。

将您的web片段放入
src\main\resources\META-INF\web fragment.xml
将您的web片段放入
src\main\resources\META-INF\web fragment.xml

web片段必须位于
META-INF
中,而不是
/bin/META-INF
@michaldo项目根目录下?我刚刚试过,但仍然不起作用。你的项目是JAR,所以你的输出是JAR。检查您的输出文件并找到web片段所在的位置。您是对的。输出文件中没有web片段。似乎maven只是把它和战争包装放在一起。问题是我不能这样做,因为没有web.xml…你错了。我有maven、Jar项目、web片段和所有作品。我的片段位于
src\main\resources\META-INF\web fragment中。xml
web片段必须位于
META-INF
中,而不是
/bin/META-INF
@michaldo项目根目录下?我刚刚试过,但仍然不起作用。你的项目是JAR,所以你的输出是JAR。检查您的输出文件并找到web片段所在的位置。您是对的。输出文件中没有web片段。似乎maven只是把它和战争包装放在一起。问题是我不能这样做,因为没有web.xml…你错了。我有maven、Jar项目、web片段和所有作品。我的片段位于
src\main\resources\META-INF\web fragment.xml