入职后拿到了公司一个项目的业务代码,但是项目被分成了好几个子项目,有dao、test等子项目(目前还没明白为什么要拆分开,可能是解耦合吧,盲猜),项目之间有依赖关系,但是由于maven是从仓库中自动下载依赖,但是maven仓库中并没有我们需要的自己编写的依赖,因此需要将其中被依赖的项目打成jar包,之后再把本地的jar包加载到仓库中去,最后maven就能从仓库中下载依赖关系了。
问题描述:
1、首先找到被依赖的子项目(该项目没有本地jar包依赖,也是就pom文件里没有标红),运行maven的package命令,将项目打成jar包
2、打成的jar包会生成在项目的target文件夹下,将jar包复制到依赖改jar包的工程文件下,复制存放jar包的目录地址
3、打开pom.xml,同时打开cmd窗口,窗口对应的命令与pom的依赖如下:
命令:
mvn install:install-file -Dfile=jar包的位置(参数一) -DgroupId=groupId(参数二) -DartifactId=artifactId(参数三) -Dversion=version(参数四) -Dpackaging=jar
pom依赖:
<!-- (参数一):下载到本地的ojdbc-10.2.0.4.0.jar包的真实存放路径 -->
<dependency>
<groupId>ojdbc</groupId>-----------------(参数二)
<artifactId>ojdbc</artifactId>-----------(参数三)
<version>10.2.0.4.0</version>------------(参数四)
</dependency>
将参数对应起来就可以了,依赖写完之后运行命令,依赖就不会是红色了,表示本地jar包添加成功。
示例:
命令:
mvn install:install-file -Dfile=D:/demo/fiber.jar -DgroupId=com.sure -DartifactId=fiber -Dversion=1.0 -Dpackaging=jar
pom依赖:
<dependency>
<groupId>com.sure</groupId>
<artifactId>fiber</artifactId>
<version>1.0</version>
</dependency>
注意:命令的空格严格按照上述的格式进行,如果存放jar包的地址中有空格,则用双引号将地址引起来。
命令运行成功后:
依赖有时是嵌套的,根据依赖关系一次加入到maven仓库就可以了
4、最后打开pom文件,右键maven->reimport,问题就解决了
参考链接:
https://www.cnblogs.com/franson-2016/p/10916593.html
https://www.cnblogs.com/tangshengwei/p/6341628.html