PHP技术那点事
全部
技术
PHP
MySQL
前端
Linux
JAVA
退出
编辑文章
选择分类
PHP
MySQL
前端
Linux
Java
工具
选择专栏
设计模式
java基础
Angular学习
Java面试题
描述:
mvn 多模块项目打包找不到其他模块包
封面图上传 :
+
点击上传图片
mvn 多模块项目通过命令**mvn spring-boot:run **提示打包找不到其他模块包,报错如以下: ``` ----------------------------------------------------------------------- [ERROR] Failed to execute goal on project bobo-service: Could not resolve dependencies for project com.bowen:bobo-service:jar:1.0.0: The following artifacts could not be resolved: com.bowen:bobo-dao:jar:1.0.0, com.bowen:bobo-common:jar:1.0.0: Could not find artifact com.bowen:bobo-dao:jar:1.0.0 in nexus-aliyun (http://maven.aliyun.com/nexus/content/groups/public/) -> [Help 1] ``` #### 多模块的结构 - bobospringboot (父工程) - bobo-api - bobo-common - bobo-dao - bobo-service (运行的api项目) - bobo-service-api 如图: [](/storage/articles/202001/content/202001041054335e0ffe69c1418.png) #### 原因 由报错可以看出来,主要是maven把我自己定义的模块当成远端的jar包,然后去阿里云的仓库下载jar包,但是这个**com.bowen:bobo-dao:jar**只是我本地的一个模块,当然阿里云仓库无法找到了,这样的话无法编译成功。 这样的话,最终原因了解了,找不到包,因为包没有发布阿里云,但这个包是我私有的本地包,不需要发布,那么我们需要项目里执行 mvn install 将其发布到本地仓库,否则bobo-service项目将会因为无法找到bobo-dao包而报错,无法编译。 #### 解决办法 1. 在bobospringboot目录下面执行 mvn install ``` G:\boboJavaProjects\boboJavaBlog\bobospringboot>mvn install ``` 2.然后进入bobo-service目录执行mvn spring-boot:run ``` G:\boboJavaProjects\boboJavaBlog\bobospringboot\bobo-service>mvn spring-boot:run ``` #### 拓展 1. spring-boot-maven-plugin不能放在父pom里面,需要放到子模块的pom里面,参考文章:https://my.oschina.net/tridays/blog/825245 2. 出现找不到mainClass的情况,错误如下: ``` Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.1.9.RELEASE:run (default-cli) on project bobospringboot: Unable to find a suitab le main class, please add a 'mainClass' property ``` 解决办法 加入代码`
com.bowen.service.BoboServiceApplication
` ```
org.springframework.boot
spring-boot-maven-plugin
com.bowen.service.BoboServiceApplication
org.apache.maven.plugins
maven-compiler-plugin
11
11
```
保存文章