如何在Eclipse外部运行依赖本地项目的Spring Boot应用
解决方案:命令行运行Spring Boot项目并解决工作区依赖问题
完全可以只在Eclipse写代码,用Mac Bash命令行运行Spring Boot应用。你遇到的问题是因为Eclipse通过工作区关联直接引用依赖项目,但命令行的Maven默认只会从本地Maven仓库和远程仓库查找依赖,而你的user-service-client只在工作区,没被安装到本地仓库,所以找不到。
快速解决步骤
- 先处理所有工作区内的依赖项目:
打开Bash,进入每个依赖项目(比如user-service-client)的根目录,执行:
这个命令会把项目编译打包,并安装到你的本地Maven仓库(默认路径mvn clean install~/.m2/repository)。 - 然后进入主项目
mainweb的根目录,执行:
此时Maven就能从本地仓库找到mvnw spring-boot:runuser-service-client依赖,正常启动应用。
更高效的长期方案(适合频繁修改依赖项目)
如果依赖项目经常需要修改,每次改完都单独install太繁琐,可以把所有项目整合成Maven多模块工程:
- 在所有项目的同级目录创建一个父项目,编写
pom.xml,声明所有子模块:<modules> <module>../user-service-client</module> <module>../mainweb</module> <!-- 其他依赖项目 --> </modules> - 进入父项目的根目录,执行:
mvn clean install - 之后直接在主项目目录运行
mvnw spring-boot:run,或者在父目录执行:
Maven会自动处理模块间的依赖关系,修改子模块后只需重新执行父项目的install,无需单独操作每个子模块。mvn spring-boot:run -pl mainweb
你遇到的错误信息:
Failed to execute goal on project mainweb: Could not resolve dependencies for project com.mainweb:mainweb:war:1.0: Could not find artifact com.service:user-service-client:jar:1.0 in artifact-registry (https://xxxxxx/xxxx/xxx-repo)
内容的提问来源于stack exchange,提问作者Sameer Malhotra
相关产品推荐
相关产品推荐

