前言:有一段时间没有写博客了,其实20号就准备写的前段时间突然忙起来了。然后自己私下里也在做一个小项目,主要是封装了一套用在微信PC端的Java SDK,可以用Java写机器人插件功能。中途遇到了很多问题,然后也逐步解决掉了,收获颇丰。遇到了很多之前不曾遇到过的问题,但是有些没有及时整理成文档。后面慢慢整理吧,有些东西你自己没有经历过的话,就永远不知道。很多花里胡哨的问题有很多巧妙的解决方案。
正常情况下,SpringBoot项目是一个可以独立运行的项目,也就是说打包的jar是可执行的,它的类放在BOOT-INF
目录下,如果直接作为其他项目的依赖,会找不到类。
如果非要将一个SpringBoot工程作为另一个项目的依赖,可以通过如下步骤进行操作。
在你项目的pom.xml
下面找到<build>
和<plugins>
标签,然后把下面的配置粘贴到里面就行了。
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>lib</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>lib</classifier>
</configuration>
</execution>
</executions>
</plugin>
接着对项目进行打包,可以看到target
目录下会生成两个jar包:
demo-jar-0.0.1-SNAPSHOT.jar 是一个可执行jar包。
demo-jar-0.0.1-SNAPSHOT-lib.jar 则是一个可以被外部程序依赖的jar包。
上面的这个带lib的jar包就是你提供给别人的jar包。
其他人拿到jar包以后,通过下面的方式把jar包导入到项目里面:
在你项目的pom.xml
下面找到<dependencies>
标签,然后把下面的配置粘贴到里面就行了。
<dependency>
<groupId>com.demo</groupId>
<artifactId>DEMO</artifactId>
<version>0.0.1</version>
<type>jar</type>
<scope>system</scope>
<systemPath>${basedir}/lib/demo-jar-0.0.1-SNAPSHOT-lib.jar</systemPath>
</dependency>
上面的具体配置信息、版本号之类的东西和你提供出去的依赖jar包的信息保持一致,然后所在路径按照实际情况修改。
本文部分参考:hangge.com(点击访问)