728x90
서버 사용 환경 : Windows, Bamboo
윈도우 환경의 빌드서버에서 Gradle 을 이용한 빌드를 할 때 특정 jar 파일이 삭제되지 않는 것을 확인했다.
에러 로그는 아래와 같다
E:\bamboo.....\project>gradlew clean build
> Task :clean FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':clean'.
> Unable to delete directory 'E:\bamboo......\project\build'
Failed to delete some children. This might happen because a process has files open or has its working directory set in the target directory.
E:\bamboo......\project\build\sonar\project\app\findbugs\findsecbugs-plugin.jar
E:\bamboo......\project\build\sonar\project\app\findbugs
E:\bamboo......\project\build\sonar\project\app\
E:\bamboo......\project\build\sonar\project
E:\bamboo......\project\build\sonar
Bamboo 나 다른 서비스가 파일을 사용하고 있어서 삭제가 안되는 것인가 했는데 jvm 을 꺼야 파일 lock 이 풀렸다..
검색의 대부분은 안드로이드 스튜디오나 jvm 을 껐다 켜라는 해결방안이 많았다.
git 에 push 하면 자동으로 빌드되도록 설정 되어있는데 그 때마다 서버의 jvm 을 켜고 끌 수도 없는 노릇이라서 다른 해결 방안이 필요했다.
나와 같은 이슈를 가진 사람들을 찾았지만 문제를 해결할 방안이 있어보이진 않았다
https://github.com/spotbugs/sonar-findbugs/issues/128
빌드 명령을 gradlew clean build 에서 gradlew build 로 고치는것도 방법중의 하나인데 clean 명령어를 수행하지 않는것이 매끄럽지 않아 보였다.
그래서 gradle 파일 중 clean 명령어를 원래 아래 상태에서
task clean(type: Delete) {
delete rootProject.buildDir
}
아래처럼 변경
task clean(type: Delete) {
delete fileTree(dir: rootProject.buildDir, exclude: "**/findsecbugs-plugin.jar")
}
파일 lock 되어있는 jar 파일을 제외하고 빌드.
728x90
'Server' 카테고리의 다른 글
Ubuntu 20.02.2 LTS + Apache2 + Https + Proxy (0) | 2021.06.09 |
---|---|
Ubuntu 18.04 LTS, Jenkins 설치시 GPG Error 해결 (0) | 2020.09.19 |
Ubuntu + Opencv-3.2.0 ( libopencv_java320.so ) (0) | 2019.07.16 |
ubuntu 16.04(server version) / nvidia-415 / cuda 10.0 / tensorflow / jupyter 설치 (terminal command) (0) | 2019.03.30 |
ubuntu 18.04 (0) | 2019.03.29 |