Spring 从maven依赖项中排除类
我使用它将Springbean注入Jersey JAX-RS资源类。Bean注入工作正常,除了这个jar还包含直接干扰我自己的自定义WebApplicationInitializer的类。出于测试目的,我在调试模式下强制取消了初始化,我的应用程序运行正常 我还尝试了maven shade插件的以下配置Spring 从maven依赖项中排除类,spring,maven,spring-mvc,jersey,jersey-2.0,Spring,Maven,Spring Mvc,Jersey,Jersey 2.0,我使用它将Springbean注入Jersey JAX-RS资源类。Bean注入工作正常,除了这个jar还包含直接干扰我自己的自定义WebApplicationInitializer的类。出于测试目的,我在调试模式下强制取消了初始化,我的应用程序运行正常 我还尝试了maven shade插件的以下配置 <plugin> <artifactId>maven-shade-plugin</artifactId> <version>2.4.
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<filters>
<filter>
<artifact>org.glassfish.jersey.ext:jersey-spring3</artifact>
<excludes>
<exclude>org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.class</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
maven阴影插件
2.4.1
包裹
阴凉处
org.glassfish.jersey.ext:jersey-spring3
org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.class
这个插件将JAR和类复制到WAR文件中。因此,即使删除了SpringWebApplicationInitializer.class,原始jar(仍包含SpringWebApplicationInitializer.class)也被复制,SpringServletContainerInitializer仍在拾取SpringWebApplicationInitializer类。“Bean注入工作正常预期”->您是说“Bean注入工作正常,除了”?“但是除了SpringWebApplicationInitializer.Class之外,我的app.war中仍然复制了所有JAR以及所有类文件。”有什么问题吗?你排除了这个文件,然后“抱怨”“它不在jar中。对不起,我的英语不好,我的意思是,即使该类在未压缩版本中被删除,原始jar仍被复制到包含该类的war文件中,因此SpringServletContainerInitializer仍在拾取该类。无需道歉:)只需正确理解问题。如何构建war文件(是否可以在问题中添加相应的pom.xml部分)?如果您想在war中隐藏某些内容,则需要使用shade插件组装war…以下是我的pom.xml: