maven-assembly-plugin 插件打包一个bug手动解决方式

dubbo采用Main独立运行后,我采用maven打包又遇到新的打包

我的maven-build配置为

  <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-pluginartifactId>
                <version>3.6.1version>
                <configuration>
                    <compilerVersion>${java-version}compilerVersion>
                    <source>${java-version}source>
                    <target>${java-version}target>
                    <encoding>${project.build.sourceEncoding}encoding>
                configuration>
            plugin>

            <plugin>
                <artifactId>maven-surefire-pluginartifactId>
                <configuration>
                    <includes>
                        <include>**/*Tests.javainclude>
                    includes>
                configuration>
            plugin>

             <plugin>
                <artifactId>maven-assembly-pluginartifactId>
                <version>3.0.0version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependenciesdescriptorRef>
                    descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>com.xxxxx.cardbag.service.AppMainmainClass>
                        manifest>
                    archive>
                configuration>
                <executions>
                    <execution>
                        <id>make-assemblyid>
                        <phase>packagephase>
                        <goals>
                            <goal>singlegoal>
                        goals>
                    execution>
                executions>
            plugin>

            
            
            
                
                
                
                
                    
                        
                        
                            
                        
                        
                            
                                
                                    
                                    
                                        
                                        
                                        
                                    
                                
                            
                            
                                  
                                        
                                    
                                
                                
                                        
                                    
                                
                                
                                        
                                    
                                
                            
                        
                    
                
            

            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-jar-pluginartifactId>
                <version>3.0.2version>
                <configuration>
                    <archive>
                        <addMavenDescriptor>falseaddMavenDescriptor>
                        <manifest>
                            
                            <addClasspath>trueaddClasspath>
                            
                            <classpathPrefix>lib/classpathPrefix>
                            <mainClass>com.xxxxxx.cardbag.service.AppMainmainClass>
                        manifest>
                    archive>
                configuration>
            plugin>

            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-dependency-pluginartifactId>
                <version>3.0.0version>
                <executions>
                    <execution>
                        <id>copy-dependenciesid>
                        <phase>prepare-packagephase>
                        <goals>
                            <goal>copy-dependenciesgoal>
                        goals>
                    execution>
                executions>
                <configuration>
                    <includeTypes>jarincludeTypes>
                    <overWriteSnapshots>trueoverWriteSnapshots>
                    <type>jartype>
                    <outputDirectory>${project.build.directory}/liboutputDirectory>

                    
                    
                    
                    
                    
                configuration>
            plugin>

            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-resources-pluginartifactId>
                <version>3.0.2version>
                <configuration>
                    <encoding>UTF-8encoding>
                configuration>
            plugin>

        plugins>
    build>

 

maven-assembly-plugin 插件打包成功后运行会包,错误信息如下:
Exception in thread "main" org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/context]

出现这个错误的原因主要是 它在对第三方打包时,对于 META-INF 下的 spring.handlers,spring.schemas 等多个同名文件进行了覆盖,遗漏掉了一些版本的 xsd 本地映射。

maven-assembly-plugin 插件打包一个bug手动解决方式_第1张图片

这里在打包好后,我们手动从spring-jdbc jar包里把 spring.handlers,spring.schemas spring.tooling解压出来,再放进去我们生成的jar包里面,最后 执行  java -jar xxx.jar   运行成功

 

转载于:https://www.cnblogs.com/fangyuan303687320/p/7802693.html

你可能感兴趣的:(java)