vô hiệu hóa chỉ dẫn tiến trình tải xuống maven


162

Trong công ty của chúng tôi trong các máy CI, kho lưu trữ cục bộ của maven được thanh lọc trước mỗi bản dựng. Kết quả là nhật ký xây dựng của tôi luôn có một loạt tiếng ồn như thế này

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

Có tùy chọn nào để tôi có thể tắt chỉ báo tiến trình tải xuống không?

Câu trả lời:


220

mvn -B ..hoặc mvn --batch-mode ...sẽ làm thủ thuật.

Cập nhật

  • Tài liệu về chế độ hàng loạt xem https://maven.apache.org/ref/3.6.1/maven-embedder/cli.html
  • Bắt đầu với Maven 3.6.1 (phát hành 2019-04-04), bạn có thể sử dụng --no-transfer-progresssẽ triệt tiêu đầu ra của các thông báo tải xuống mà không triệt tiêu đầu ra khác.

3
cảm ơn bạn, điều này đã làm nó, tôi cũng có thể thoát khỏi tải xuống / tải xuống dòng?
gsf

Bạn có thể thử mvn -qnhưng hơn bạn sẽ không thấy tin nhắn khác. Có thể là bạn có thể xem ở đây .
khmarbaise

1
mvn - chế độ hàng loạt ... | grep -v 'Tải xuống. * http: //' là những gì tôi đôi khi sử dụng để thoát khỏi các tin nhắn tải xuống *.
Lars Kiesow

Nó hoạt động cho tất cả các phiên bản của maven? Có vẻ như trong trường hợp của tôi (phiên bản 2.0.4), maven vẫn in các dòng "đã tải xuống ..." xấu xí bất kể thêm cờ -B.
Kamil

3
@Barett liên kết bạn cung cấp chỉ là tài liệu của plugin phát hành. Nó không đề cập đến tất cả làm thế nào --batch-modeảnh hưởng đến đầu ra.
Superole

71

Trước hết, như đã được trả lời bởi khmarbaise, bạn nên sử dụng mvn -Bđể bật chế độ hàng loạt.

Nếu bạn cũng muốn thoát khỏi dòng "Tải xuống / Tải xuống", bạn có thể đặt bộ ghi tương ứng org.apache.maven.cli.transfer.Slf4jMavenTransferListenerở mức cao hơn thông tin. Vì vậy, tôi đã sử dụng org.slf4j.simpleLogger.logtài sản như tài liệu ở đây .

Chỉ sử dụng dòng lệnh, bạn có thể làm điều này:

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

Hoặc bạn có thể sử dụng MAVEN_OPTSbiến môi trường như được mô tả ở đây :

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

Lưu ý: Theo như tôi biết thì điều này chỉ hoạt động cho maven 3.1 trở lên.


4
Điều đó thật tuyệt. Cũng có thể thêm org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warnvào $ MAVEN_HOME / conf / log / Simplelogging.properies, để làm cho nó vĩnh viễn.
Ben

Giải pháp này ngăn chặn các tin nhắn tải lên cũng như tải xuống, điều thường không mong muốn trong một deploynhiệm vụ
Hilikus

Nó đặt mức thành WARN để bạn vẫn biết nếu có sự cố. Nhưng tôi đồng ý sẽ rất tốt nếu có một thiết lập riêng.
Olivier Gérardin

18

Bắt đầu với Maven 3.6.1, Maven giờ đây có tùy chọn để chặn tiến trình chuyển khi tải xuống / tải lên ở chế độ tương tác.

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

hoặc nói ngắn gọn:

mvn -ntp ... ....

Ghi chú phát hành đầy đủ có thể được tìm thấy ở đây: http://maven.apache.org/docs/3.6.1/release-notes.html


0

Trả lời nhanh, sử dụng chế độ hàng loạt maven, thêm sau vào lệnh maven của bạn:

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

Ví dụ:

mvn deploy -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.