ปิดใช้งานตัวบ่งชี้ความคืบหน้าการดาวน์โหลด maven


162

ใน บริษัท ของเราในเครื่อง CI นั้นจะถูกลบออกก่อนการสร้างทุกครั้ง ดังนั้นบันทึกการสร้างของฉันจึงมีเสียงดังเสมอ

Downloading: http://.../artifactory/repo/com/codahale/metrics/metrics-core/3.0.1/metrics-core-3.0.1.jar
4/2122 KB   
8/2122 KB   
12/2122 KB   
16/2122 KB   
18/2122 KB   
18/2122 KB   4/480 KB   
18/2122 KB   8/480 KB   
18/2122 KB   12/480 KB   
18/2122 KB   16/480 KB   
18/2122 KB   16/480 KB   4/1181 KB   
18/2122 KB   16/480 KB   8/1181 KB   
18/2122 KB   16/480 KB   12/1181 KB

มีตัวเลือกที่ฉันสามารถปิดใช้งานตัวบ่งชี้ความคืบหน้าการดาวน์โหลดได้หรือไม่?

คำตอบ:


220

mvn -B ..หรือmvn --batch-mode ...จะทำเคล็ดลับ

ปรับปรุง

  • เอกสารเกี่ยวกับโหมดแบทช์ดูที่https://maven.apache.org/ref/3.6.1/maven-embedder/cli.html
  • เริ่มต้นด้วย Maven 3.6.1 (เผยแพร่แล้ว 2019-04-04) คุณสามารถใช้งานได้--no-transfer-progressจะไม่แสดงผลลัพธ์ของการดาวน์โหลดข้อความเลยโดยไม่ระงับผลลัพธ์อื่น ๆ

3
ขอบคุณฉันทำเช่นนี้ฉันสามารถกำจัดสายดาวน์โหลด / ดาวน์โหลดด้วยหรือไม่
gsf

คุณสามารถลองได้mvn -qแต่คุณจะไม่เห็นข้อความอื่นเช่นกัน คุณอาจจะสามารถดูได้ที่นี่
khmarbaise

1
mvn - โหมดแบทช์ ... | grep -v 'Download. * http: //' เป็นบางครั้งที่ฉันใช้เพื่อกำจัดข้อความดาวน์โหลด *
Lars Kiesow

ใช้ได้กับ maven ทุกรุ่นหรือไม่ ดูเหมือนว่าในกรณีของฉัน (รุ่น 2.0.4) maven ยังคงพิมพ์บรรทัด "ดาวน์โหลด ... " น่าเกลียดโดยไม่คำนึงถึงการเพิ่มแฟล็ก -B
Kamil

3
@Barett ลิงก์ที่คุณให้ไว้เป็นเพียงเอกสารของปลั๊กอินการวางจำหน่ายเท่านั้น ไม่ได้กล่าวถึงเลยว่า--batch-modeมีผลกระทบต่อเอาต์พุตอย่างไร
Superole

71

ก่อนอื่นคุณควรใช้ khmarbaise mvn -Bเพื่อเปิดใช้งานโหมดแบทช์

หากคุณต้องการกำจัดบรรทัด "ดาวน์โหลด / ดาวน์โหลด" คุณสามารถตั้งค่าตัวบันทึกที่สอดคล้องกันorg.apache.maven.cli.transfer.Slf4jMavenTransferListenerให้อยู่ในระดับที่สูงกว่าข้อมูล ดังนั้นผมจึงใช้org.slf4j.simpleLogger.logคุณสมบัติเป็นเอกสารที่นี่

การใช้เฉพาะบรรทัดคำสั่งคุณสามารถทำได้:

mvn -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B ...

หรือคุณสามารถใช้MAVEN_OPTSตัวแปรสภาพแวดล้อมตามที่อธิบายไว้ที่นี่ :

export MAVEN_OPTS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn

หมายเหตุ:เท่าที่ฉันทราบนี้ใช้ได้เฉพาะกับ maven 3.1 และสูงกว่า


4
มันเยี่ยมมาก ยังสามารถเพิ่มorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn$ MAVEN_HOME / conf / logging / simplelogging.properties เพื่อให้ถาวร
เบ็น

วิธีนี้จะระงับการอัพโหลดข้อความรวมถึงการดาวน์โหลดซึ่งโดยทั่วไปจะไม่ต้องการในdeployงาน
Hilikus

มันตั้งค่าระดับเป็น WARN ดังนั้นคุณจะยังคงทราบว่ามีปัญหาหรือไม่ แต่ฉันยอมรับมันคงจะดีถ้ามีการตั้งค่าแยกต่างหาก
Olivier Gérardin

18

เริ่มต้นด้วย Maven 3.6.1 ขณะนี้ Maven มีตัวเลือกที่จะระงับความคืบหน้าการถ่ายโอนเมื่อดาวน์โหลด / อัพโหลดในโหมดโต้ตอบ

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

หรือสั้น:

mvn -ntp ... ....

สามารถดูบันทึกย่อประจำรุ่นได้ที่นี่: http://maven.apache.org/docs/3.6.1/release-notes.html


0

คำตอบด่วนใช้โหมดแบทช์ maven เพิ่มต่อไปนี้คำสั่ง maven ของคุณ:

-B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn

ตัวอย่างเช่น:

mvn deploy -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.