今天做项目时候碰到了将公用的项目打包成jar,然后引入到其他的项目中,直接调用,感觉甚是方便…然而问题出现了,在用maven install命令时发现引入的jar包,在启动项目时候报错。
然后查看jar包的文件结构,发现第一级目录为Boot-INF,与其他引用的jar目录结构不一样,然后就尝试用其他办法,然而还是不行。
最后就上网看到原来用spring-boot-maven-plugin 打包时候与原生的apache-maven有些不同。
所以问题是不能使用springboot项目自带的打包插件进行打包
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
所以我们需要把pom文件里面的这个换成Apache-maven:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source> <!--指明源码用的Jdk版本-->
<target>1.8</target> <!--指明打包后的Jdk版本-->
</configuration>
</plugin>
</plugins>
</build>
然后我们再去进行打包,这样jar包的目录结构就与我们平时引入的jar一样了
在我们需要调用的项目中引入这个jar
方法一: maven依赖的方式
<dependency>
<groupId>com.bonc</groupId> <!--目录-->
<artifactId>mcp-activiti-invoke</artifactId> <!--jar包名-->
<version>0.0.1-SNAPSHOT</version>
</dependency>
方法二:jar包引入依赖
现在再去启动项目,完美运行,不报错。
原文链接:https://blog.csdn.net/qq_31192137/article/details/105527695