报错原因: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>
|