2GB Maven 빌드 로그 파일에서 예외 및 해당 모듈을 캡처해 보세요. 로그 파일 형식:
[main] [INFO] -------------< org.maven.plugins.junt:parent >-------------
[main] [INFO] Building junt-parent 1.0.0-SNAPSHOT
...........
...........
...........
...........
Exception units:
<failed units>
<failed units>
다음 옵션이 제안되었지만 둘 다 일치 전후에 추가 줄을 인쇄합니다. 예외 셀을 기록한 모듈을 찾아 일치시키는 방법을 잘 모르겠습니다. 이 두 일치 항목 사이의 줄은 필요하지 않으며 예외 장치와 해당 모듈에 실패한 모듈만 필요합니다.
sed -n '/Exception units/,/^$/p' maven_build.log
또한sed -n '/Building/,/Exception units/!p'
편집: 예상 출력:
Building junt-parent 1.0.0-SNAPSHOT
Exception units:
<failed units>
<failed units>
답변1
댓글을 보면 실제로 다음과 같은 파일이 있다는 것을 알 수 있습니다.
[main] [INFO] Building bar 1.0.0-SNAPSHOT
... Building ........
[main] [INFO] -------------< org.maven.plugins.junt:parent >-------------
[main] [INFO] Building junt-parent 1.0.0-SNAPSHOT
... Building ........
Exception units:
<failed units>
<failed units>
[main] [INFO] Building foo 1.0.0-SNAPSHOT
... Building ........
Exception units:
그리고 빈 줄까지, 마지막 줄 앞에 줄을 인쇄하려는 줄 이 있는 경우에만 [main] [INFO] Building
메시지가 속한 모듈을 알 수 있습니다. 다른 [main] [INFO] Building
모든 것들은 예외 없이 인쇄되어야 하지 않나요 ?
이 경우 필요할 때 다시 불러올 수 있도록 [main] [INFO] Building
각 행을 예약된 공간에 저장할 수 있습니다.h
sed -ne '/\[main] \[INFO] Building/h;/Exception units:/{x;p;x;}' -e '//,/^$/p'
Exception units:
줄이 발견 되면 공백을 변경하고 x
저장된 Building
줄을 인쇄 p
한 다음 x
공백을 다시 변경합니다. 마지막으로 빈 줄까지 모든 줄이 p
인쇄됩니다(빈 패턴은 //
마지막 패턴과 일치하므로 반복할 필요가 없습니다). 출력은 다음과 같습니다
[main] [INFO] Building junt-parent 1.0.0-SNAPSHOT
Exception units:
<failed units>
<failed units>
이것이 원하는 것이 아니라면 실제 사례를 들어주세요.