适用场景:
公司的私包或者没有上传到公共仓库的jar包,于是Maven拿不到这个包,导致pom标红
解决思路:
1.首先需要拿到这个jar包,保存到自己的电脑上,记录存放的文件路径
2.电脑上必须安装了Maven环境,也就是配置了Maven的环境变量,可以使用mvn命令
(用mvn -v
查看是否配置,没有配置的同学移步百度进行安装配置)
3.使用如下命令:
mvn install:install-file -Dfile={jar包所在地址} -DgroupId={jar包的公司名} -DartifactId={jar包项目名} -Dversion={jar包版本} -Dpackaging=jar
示例:
比如我们有个jar包叫ojdbc6-11.2.0.3.jar
这个包远程仓库没有,pom文件标红,于是我们需要得到这个包的所在路径
、包的公司名
、包的项目名
以及包的版本
jar包的所在路径:存放该jar包的位置,比如放在了桌面上/Users/cheng/Desktop/ojdbc6-11.2.0.3.jar
jar包的公司名:这个可以自由发挥,为了不要混淆该包,可以解压jar包去看看文件夹结构,这里我选择用com.oracle
jar包的项目名:根据jar包名,用ojdbc6
jar包的版本:根据jar包名,用11.2.0.3
那么我需要在控制台输入如下命令:
mvn install:install-file -Dfile=/Users/chenghuang/Desktop/ojdbc6-11.2.0.3.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar
打包即可成功:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.441 s
[INFO] Finished at: 2021-08-04T16:37:55+08:00
[INFO] ------------------------------------------------------------------------
适用场景:
项目上传git的时候不在意是否上传了jar包,这样可以省略每个人都去执行第一种方法,一劳永逸
解决思路:
2.把jar包复制进去
3.在pom的中加入如下配置:(还是以ojdbc6-11.2.0.3.jar
举例)
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/ojdbc6-11.2.0.3.jar</systemPath>
</dependency>
${project.basedir}/lib/{jar包名称}
标识在项目根目录下的lib文件中那么现在maven可以找到该jar包,但是打包的时候maven是不知道把lib下的jar包打进去的,还需要如下配置:
<dependencies>
//...
</dependencies>
<build>
<resources>
<!--将项目根目录下的lib文件中的jar包全部打入BOOT-INF/lib文件下-->
<resource>
<directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
<filtering>false</filtering>
</resource>
<!--将项目根目录下的src/main/resources文件中的配置文件全部打入默认文件下-->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.yml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
如果对你有所帮助,不要吝啬手中的赞~
因篇幅问题不能全部显示,请点此查看更多更全内容