문제

나는 디렉토리를 만들고 javac 및 모든 일반 항목을 호출하는 개미 빌드를 가지고 있습니다.내가 겪고 있는 문제는 정리(생성된 모든 항목 삭제)를 수행하려고 할 때 삭제 작업에서 일부 파일을 삭제할 수 없다고 보고한다는 것입니다.수동으로 삭제하려고 하면 정상적으로 작동합니다.파일은 분명히 다른 프로세스에 의해 열리지 않지만 개미는 여전히 해당 파일을 삭제하지 못합니다.어떡해?

도움이 되었습니까?

해결책

이 문제가 한 번 발생했습니다.내가 삭제하려는 파일이 다음 파일의 일부였기 때문입니다. 클래스 경로 다른 작업을 위해.

다른 팁

때에 따라 다르지 ...

  • Ant 프로세스에는 파일을 삭제할 수 있는 충분한 권한이 없습니다(일반적으로 파일이 다른 사용자(예: 시스템 사용자)에 의해 생성되었기 때문에).Run As를 사용하여 관리 사용자로 Ant 스크립트를 실행해 보십시오.
  • Windows는 프로세스가 죽거나 종료될 때 파일 잠금을 정리하는 데 정말 좋지 않습니다.결과적으로 Windows는 파일이 종료된(또는 종료된) 프로세스에 의해 잠겨 있다고 생각합니다.이 상황에서는 재부팅 외에는 할 수 있는 일이 없습니다.
  • 시스템 상태를 검사하는 더 나은 도구를 얻으세요.나는 SysInternals 도구를 사용하고 기본 Windows 도구 대신 이를 사용합니다.

Ant Retry 작업을 사용하는 것이 도움이 되었습니다.방금 삭제 작업 주위에 래핑했습니다.

현재 로그온한 사용자로 빌드가 실행되는지 여부는 알 수 없습니다.그렇지 않은 경우 explorer.exe 또는 기타 프로세스에 표시된 디렉터리가 있다는 사실로 인해 해당 디렉터리도 잠길 수 있습니다.그러나 동일한 explorer.exe 프로세스에서 삭제하면 성공합니다.다음에서 Unlocker를 사용해 보세요. http://ccollomb.free.fr/unlocker/ 어떤 프로세스가 파일/디렉토리를 잠갔는지 확인합니다.

나는 같은 문제에 직면했습니다.
내 컴퓨터에서 클래스 경로가 설정되지 않았거나 바이러스 백신이 실행되지 않았습니다.
그런데 제가 사용하고 있던 ANT 버전은 32비트였고, 제가 설치한 JDK는 64비트였습니다.
32비트 JDK를 설치했는데 문제가 해결되었습니다.

파일(또는 디렉토리)을 열어둔 Ant 프로세스에 뭔가가 있습니까?이로 인해 ant를 실행한 후에는 삭제할 수 있지만 실행 중에는 삭제할 수 없는 상황이 발생합니다.

1.8.0 이전의 Ant 버전에는 삭제 작업 중에 무작위 오류가 발생하는 버그가 있습니다.Ant 1.8.0 이상을 사용해 보세요.

여기에서 버그 세부정보를 볼 수 있습니다. https://issues.apache.org/bugzilla/show_bug.cgi?id=45960

내 경우에는 Eclipse에서 개미 정리가 실패하여 빌드 파일을 제거할 수 없습니다.나는 이것을 때때로 봅니다.일반적으로 반복 시도하면 성공합니다.이번에는 아닙니다.명령줄에서 ant clean 실행을 시도했지만 실패했습니다. "삭제할 수 없습니다"를 삭제할 수 없습니다.문제 파일을 붙잡고 있는 것은 Eclipse였을 것입니다. Eclipse를 종료하면 cmd 행이 삭제되었습니다.

나는 최근에 이 문제를 많이 겪고 있는데 그것은 무작위입니다.한 번 작동하면 다음 번에는 작동하지 않습니다.저는 NetBeans를 사용하고 있으며(중요한 경우) build.xml에 많은 추가 작업을 추가했습니다.-post-jar 작업에서 이 문제가 발생했습니다.파일에 대해 unjar을 호출한 다음 삭제하면 이런 일이 발생합니다.나는 NB가 항아리를 스캔하려고 시도하고 있으며 이로 인해 항아리가 잠기는 것으로 의심됩니다.

나에게 도움이 된 것은 -post-jar 시작 시 즉시 jar 이름을 바꾸고 .tmp 확장자를 추가하는 것입니다.그런 다음 임시 파일에 대해 unjar을 호출합니다.작업이 끝나면 원하는 jar 이름으로 다시 이름을 바꿉니다.

나도 같은 문제가 있었고 빌드 디렉토리를 수동으로 삭제하려고 시도했습니다.마지막으로 내 프로젝트의 .jar 아티팩트 이름을 프로젝트 이름 자체와 다른 이름으로 변경하여 문제를 해결했습니다.예를 들어:내 프로젝트는 포털이었고 내 개미는 Portal.jar을 생성하는 데 스크립트를 사용했습니다. 여기서 Eclipse 개미는 이 Portal.jar을 삭제할 수 없었습니다.내 .jar을 Portalnew.jar로 생성하기 위해 내 build.xml을 변경했을 때 Eclipse는 다음에 이 Portalnew.jar을 삭제할 수 있었습니다.도움이 되었기를 바랍니다.

Windows에서는 수동으로 삭제해야 합니다.그것은 나를 위해 일했습니다.(보통 삭제되는 파일은 이전 버전의 jar입니다..예를 들어:httpcore.4.2.5.ja5r 및 httpcore.4.3.jar이 있는 경우 4.2.5.jar 삭제를 시도합니다.

개미가 삭제하려고 했던 파일이 다른 서비스/프로세스에서 사용 중이었기 때문에 이 문제에 직면했습니다.서비스를 중지한 후 개미 빌드 스크립트가 실행되었습니다.

제 경우에는 작업 관리자에서 Java 프로세스 실행을 중지하고 Ant 빌드 파일을 다시 실행했습니다.파일을 삭제할 수 있었고 빌드에 성공했습니다.

Microsoft Windows 10으로 전환한 이후로 이런 문제가 너무 자주 발생합니다.파일을 제거하기 직전에 파일 이름을 바꾸면 문제가 해결되었습니다.

<rename src="file.name" dest="file.name.old"/>
<delete file="file.name.old" />

Git이 설치되어 있다면
git bash 쉘에서 디렉토리를 엽니다(시작에서 git bash 검색).
그런 다음 bash 명령을 입력하여 파일을 삭제하십시오.

rm -r filename.xyz
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top