📚 开源资源分享——颜佐光的个人书架
✉️ 联系站长
书架 / Java / maven

解决MAVEN用assembly打包spring.handlers和spring.schemas出错的问题

2018-07-09 11:09 · 约 1,174 字 · 浏览 4,274 次 · 更新 2020-05-17 11:09mavenSpring

项目不打包运行正常,打包后报出异常Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace。发现是有些spring的jar包包含spring.handlers和spring.schemas文件,而assembly只会把第一次遇到的文件打入jar包,后面遇到的都会跳过,导致此问题。解决方法是用shade打包。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>1.4</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>com.ilukuang.App(修改为main方法)</mainClass>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                            <resource>META-INF/spring.handlers</resource>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                <resource>META-INF/spring.schemas</resource>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
← 返回《Java》目录书架 →