报错原因:NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。与ClassNotFoundException的不同在于,ClassNotFoundException发生在编译时。很多Java开发者很容易在这里把这两个错误搞混。

解决方案:此方法需要将包以外部的方式引入,如果有更好的排查解决方案可推荐。
第一步:
引入本地的第三方jar。


<dependency>
       <groupId>com.ali</groupId>
       <artifactId>ali</artifactId>
       <version>1.0</version>
       <scope>system</scope>
       <systemPath>${project.basedir}/src/main/resources/myjar.jar</systemPath>
</dependency>

第二部:SpringBoot插件打包jar , 或者war

<plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
          <includeSystemScope>true</includeSystemScope>
      </configuration>
 </plugin>  

打war包
 

               <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.4</version>
                    <configuration>
                        <webResources>
                            <resource>
                                <directory>src/main/resources/jar/</directory>
                                 <targetPath>WEB-INF/lib/</targetPath>
                                <includes>
                                    <include>**/*.jar</include>
                                </includes>
                            </resource>
                        </webResources>
                    </configuration>
                </plugin>

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐