[英]GitHub Actions: Cache Maven .m2 repository on Windows environment C\:\\Users\runneradmin\\.m2\repository: Cannot stat: No such file or directory
作為文檔 state為了使用 GitHub Actions 緩存 Maven 依賴項,我們必須使用如下操作/緩存操作:
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build with Maven
run: mvn --batch-mode --update-snapshots verify
但是使用windows-2016
GitHub Actions 環境,這並沒有為我們提供工作緩存 - 正如日志所述:
Post job cleanup.
"C:\Program Files\Git\usr\bin\tar.exe" --posix --use-compress-program "zstd -T0" -cf cache.tzst -P -C D:/a/spring-boot-admin/spring-boot-admin --files-from manifest.txt --force-local
/usr/bin/tar: C\:\\Users\runneradmin\\.m2\repository: Cannot stat: No such file or directory
/usr/bin/tar: Exiting with failure status due to previous errors
Warning: Tar failed with error: The process 'C:\Program Files\Git\usr\bin\tar.exe' failed with exit code 2
如何解決這個問題?
似乎 Maven 存儲庫的路徑未正確初始化。 正如這個問題所描述的那樣,路徑是用\\
而不是 GNU tar 期望的/
編寫的。 該修復程序已在 2020 年 12 月提供,因此已發布到v2.1.4
版本。 最后一個版本v2.1.3
於 11 月發布。 但遺憾的是,在將v2
指向最新的 v2.1.4 時存在一個v2.1.4
(正如 GitHub Actions 用戶通常所期望的那樣)。 因此,為了解決這個問題,我們需要像這樣明確指定完整的操作/緩存版本v2.1.4
:
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache Maven packages
uses: actions/cache@v2.1.4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build with Maven
run: mvn --batch-mode --update-snapshots verify
現在它應該像魅力一樣工作( 請參閱此處的日志)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.