项目因为某些原因, 需要引入demo中代码, 但是demo使用的是 java而且没有使用任何框架, 并且还引用第三方 jar, 因此在自己项目(SpringBoot+Maven)中集成demo时. 整个集成过程中颇为麻烦, 遂将此步骤记录一下, 以防日后需要.
如果是基于Maven的项目, 可以直接跳过 IDEA导入jar包 部分, 直接进行后面部分的配置即可
一开始的时候, 引用第三方jar的地方(类上面import部分)报红, 所以需要通过在idea上面配置, 使其能够正常运行demo 因此就在网上找到类似的解决方案. 步骤如下
File-> Project Structure-> Libraries -> 点击 + 号-> 选择java
选中所选的jar包(多个时一个个添加)
Project Structure-> Modules
下面就会有我们添加的jar
如果还是没有, 我们点击+
手动添加上一步配置的库即可,
主要注意的是点击+
后选择添加的是库 Libraries , 而不是jar或者目录
确认配置好之后, 点击确定, 就发现demo可以正常运行了
虽然可以运行了, 但是在Maven打包中遇到了问题, 虽然在idea中被添加到了模块中, 但是在打包时就无法引用第三方jar包, 如下图所示 说明在Maven中, 所引用的第三方jar并没有被打进去, 因此需要我们进行二次配置
在pom文件中, 添加第三方jar 的引用
<dependency>
<groupId>com.time.pause</groupId>
<artifactId>okhttp</artifactId>
<!--依赖范围-->
<scope>system</scope>
<version>3.12.0</version>
<!--依赖所在位置-->
<systemPath>${project.basedir}/lib/okhttp-3.12.0.jar</systemPath>
</dependency>
需要注意的是: groupId,artifactId
无需和jar包中完全一致, 只需我们自定义即可. 版本我们根据实际情况添加
将添加的第三方jar的Maven坐标纳入到打包插件中
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--让maven编译的时候能将第三方包编入-->
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
需要注意的是如果没有步骤2配置, 则打包时虽然不会报错了, 但是在使用 java -jar
本地运行jar时仍然会找不到包,
因为实际上第三方jar并没有被打包插件打入进去
参考博客 https://blog.csdn.net/qq_43599841/article/details/127368168 https://blog.csdn.net/weixin_43888891/article/details/130611728