首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子目录中包含Maven项目的GitHub缓存

子目录中包含Maven项目的GitHub缓存
EN

Stack Overflow用户
提问于 2020-09-14 23:42:58
回答 1查看 497关注 0票数 1

我对一个简单的Maven项目的GH操作工作流进行了以下配置。

代码语言:javascript
复制
name: Java CI

on:
  pull_request:
    branches:
      - master

jobs:
  tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 11
        uses: actions/setup-java@v1
        with:
          java-version: 11
      - name: Cache Maven repository
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-
      - name: Verify with Maven
        run: mvn -B -e -ff clean verify

一切正常,直到我将Maven项目移到一个code子目录中:

代码语言:javascript
复制
name: Java CI

on:
  pull_request:
    paths:
      - code/**
    branches:
      - master

jobs:
  tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 11
        uses: actions/setup-java@v1
        with:
          java-version: 11
      - name: Cache Maven repository
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-
      - name: Verify with Maven
        run: mvn -B -e -ff clean verify --file code/pom.xml

现在,在日志中,我看到缓存步骤显示为Cache not found for input keys: Linux-maven-xxxxxxx, Linux-maven-

有人知道为什么缓存不能与子目录中的项目一起工作吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-09-15 12:03:38

检查以确保您没有覆盖settings.yaml文件中的localRepository。无论您将项目目录放在何处,Maven都将使用默认的本地存储库~/.m2/repository

作为测试,如果当前没有覆盖缺省的本地maven repo目录,则可以尝试更改工件的maven存储库路径。

在作业开始之前,将以下环境变量添加到工作流中

代码语言:javascript
复制
  env: 
     MAVEN_OPTS: "-Dmaven.repo.local=${{ github.workspace }}/repository"

然后使用以下代码调用缓存操作

代码语言:javascript
复制
  - name: Cache Maven repository
    uses: actions/cache@v2
    with:
      path: "${{ github.workspace }}/repository"
      key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
      restore-keys: |
        ${{ runner.os }}-maven-
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63887592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档