# Gradle Temporary workspace 에러 해결과정 상세보기

> Clean Markdown view of GeekNews topic #22409. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=22409](https://news.hada.io/topic?id=22409)
- GeekNews Markdown: [https://news.hada.io/topic/22409.md](https://news.hada.io/topic/22409.md)
- Type: news
- Author: [click](https://news.hada.io/@click)
- Published: 2025-08-08T11:24:02+09:00
- Updated: 2025-08-08T11:24:02+09:00
- Original source: [clickin.tistory.com](https://clickin.tistory.com/189)
- Points: 2
- Comments: 1

## Topic Body

- Gradle 8.6부터 Windows 환경에서 안티바이러스 프로그램과의 충돌로 인해 **'Could not move temporary workspace...'** 오류가 발생하여 빌드 실패가 빈번히 발생했으나, Gradle 9.1 RC에서 드디어 해결  
- Windows 사용자들은 1년 넘게 겪었던 빌드 오류에서 벗어나 9.1 버전부터 정상적으로 Gradle 빌드를 수행할 수 있게 될 예정. (관련 이슈: [#31438](https://github.com/gradle/gradle/issues/31438))  
#### 이전 버전의 작동방식  
- 파일 자체에 직접 파일 잠금(file lock)을 걸어 의존성 캐시의 불변성을 확보. 단순하고 명확한 방식.  
#### 8.6 버전부터의 작동 방식  
- 성능 개선을 위해 `CacheBasedImmutableWorkspaceProvider`가 도입되며 UUID 기반 임시파일을 생성, 작업 후 고유 경로로 이동  
- 이 방식은 통합 테스트 시 파일 잠금 방식의 성능 저하 문제를 해결하고자 도입되었음  
- 윈도우 환경에서 **안티바이러스 프로그램의 실시간 감시 기능**(새 파일 생성 시 잠금 획득)과 충돌하여 임시 파일 이동이 실패하는 문제 발생.  
### 9.1 버전의 패치 방식  
- 운영체제별 차등 잠금 전략 도입.  
- Windows 환경: **LockingStrategy.WORKSPACE_LOCK** 방식을 채택. 이는 캐시 경로 내 **하위 디렉터리(\workspace)를 생성**하고, 해당 하위 디렉터리 전체에 락을 획득하여 안티바이러스 프로그램의 개별 파일 간섭을 차단함으로써 문제를 해결.  
- Windows 외 환경: 기존 ATOMIC_MOVE (8.6 방식) 유지.

## Comments



### Comment 42290

- Author: click
- Created: 2025-08-08T11:26:14+09:00
- Points: 2

개인적으로 많이 고통받아서 PR 머지된거 보고 블로그 글을 썼습니다. show는 직접 개발한 프로덕트를 소개하는 곳이라서 적절하지 않을 듯해서 일반 뉴스로 등록하였는데 맞는지 모르겠네요.
