如何在GitHub Action中构建依赖自定义Maven项目?
解决GitHub Action中Maven自定义依赖找不到的问题
问题原因
你当前的Action仅对sha-core执行了package命令,该命令仅生成JAR包但不会将其安装到Runner的本地Maven仓库。切换到主项目构建时,Maven无法在本地或中央仓库找到sha-core的构件,因此触发报错。
解决方案
修改GitHub Action配置,确保sha-core构建完成后安装到本地Maven仓库,再构建主项目:
steps: # 拉取sha-core项目代码到单独目录 - uses: actions/checkout@v4 with: ref: main token: ${{ secrets.ACCESS_TOKEN }} repository: senolatac/sha-core path: sha-core # 构建并将sha-core安装到本地Maven仓库 - name: Install sha-core to local Maven repo run: mvn -B install --file sha-core/pom.xml # 拉取主项目代码到单独目录 - uses: actions/checkout@v4 path: main-project # 构建主项目 - name: Build main project with Maven run: mvn -B package --file main-project/pom.xml
关键说明
- 用
mvn install替代package:install命令会将项目构件(JAR、POM等)部署到Runner的本地Maven仓库(默认路径~/.m2/repository),主项目构建时Maven会优先从本地仓库查找依赖。 - 指定
path参数:为两个项目分配独立目录,避免checkout操作互相覆盖代码文件,同时明确指定pom.xml路径,确保Maven执行正确的项目构建。 - 本地仓库持久化:GitHub Runner的
~/.m2/repository目录在整个Job执行过程中保持不变,因此sha-core安装后,主项目可直接引用该依赖。
内容的提问来源于stack exchange,提问作者Sha
相关产品推荐
相关产品推荐

