[maven] Maven을 덜 장황하게 만들 수 있습니까?

Maven은 내 취향에 따라 너무 많은 출력 라인을 분출합니다 (나는 Unix 방식을 좋아합니다 : 좋은 소식은 없습니다).

모든 [INFO] 줄을 제거하고 싶지만 Maven의 자세한 정도를 제어하는 ​​인수 또는 구성 설정에 대한 언급을 찾을 수 없습니다.

로그 수준을 설정하는 LOG4J와 같은 방법이 없습니까?



답변

-q 스위치를 사용해 볼 수 있습니다 .

-q,-quiet 조용한 출력-오류 만 표시


답변

-q 위에서 말한대로 필요한 것입니다. 대안은

-B , –batch-mode
비대화 형 (배치) 모드에서 실행 배치 모드는 비대화 형, 연속 통합 환경에서 Maven을 실행해야하는 경우 필수적입니다. 비대화 형 모드에서 실행할 때 Maven은 사용자의 입력을 받아들이 기 위해 멈추지 않습니다. 대신 입력이 필요할 때 합리적인 기본값을 사용합니다.

또한 출력 메시지를 본질적으로 다소 줄입니다.


답변

내 문제는 -q가 너무 조용하다는 것입니다. CI에서 maven을 실행 중입니다.

메이븐 3.6.1 (4 월 2019 년) , 당신은 지금이 다운로드 / 업로드를 대화 형 모드에서 전송 진행을 억제하는 옵션을 .

mvn --no-transfer-progress ....

또는 간단히 :

mvn -ntp ... ....

그것이 RayMNG-6605PR 239 의 의견에서 제안한 것 입니다 .


답변

공식 링크 :
https://maven.apache.org/maven-logging.html

JVM 매개 변수를 추가 할 수 있습니다 .

-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN

대문자를 조심하십시오.


답변

-q 또는 –quiet 명령 줄 옵션 사용


답변

메시지 만 제거하려면 [INFO]다음을 수행 할 수도 있습니다.

mvn ... | fgrep -v "[INFO]"

모든 출력 (오류 제외) 을 억제하려면 다음 stdout을 사용 /dev/null하여 리디렉션 할 수 있습니다.

mvn ... 1>/dev/null

(이는 bashMaven 명령을 실행하기 위해 (또는 유사한 셸)을 사용하는 경우에만 작동 합니다.)


답변

Maven 3.1.x는 로깅을 위해 SLF4j를 사용합니다. https://maven.apache.org/maven-logging.html 에서 구성 방법에 대한 지침을 찾을 수 있습니다.

간단히 말해서 ${MAVEN_HOME}/conf/logging/simplelogger.properties, 수정 하거나 MAVEN_OPTS환경 변수 를 통해 동일한 속성을 설정하십시오 .

예 : 설정 은 배치 모드 전송 리스너의 로깅 MAVEN_OPTS-Dorg.slf4j.simpleLogger.log.org.apache.maven.cl‌​i.transfer.Slf4jMave‌​nTransferListener=wa‌​rn구성 -Dorg.slf4j.simpleLogger.defaultLogLevel=warn하고 기본 로그 수준을 설정합니다.