Làm cách nào để sử dụng dòng lệnh maven để xác định tệp cài đặt nào mà Maven đang chọn?
Làm cách nào để sử dụng dòng lệnh maven để xác định tệp cài đặt nào mà Maven đang chọn?
Câu trả lời:
Bắt đầu maven với tùy chọn -X (gỡ lỗi) và kiểm tra phần đầu của đầu ra. Cần có một cái gì đó như thế này:
...
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from c:\....\apache-maven-3.0.3\conf\settings.xml
[DEBUG] Reading user settings from c:\....\.m2\settings.xml
[DEBUG] Using local repository at C:\....\repository
...
(Tên thư mục gốc được xóa bởi tôi)
Nhận xét của bạn cho câu trả lời (chính xác) của cletus ngụ ý rằng có nhiều tệp cài đặt Maven liên quan.
Maven luôn sử dụng một hoặc hai tệp cài đặt. Các cài đặt toàn cục được xác định trong ($ {M2_HOME} /conf/sinstall.xml) luôn được yêu cầu. Tệp cài đặt người dùng (được xác định trong $ {user.home} /. M2 / settings.xml) là tùy chọn. Bất kỳ cài đặt nào được xác định trong cài đặt người dùng đều được ưu tiên so với cài đặt chung tương ứng.
Bạn có thể ghi đè vị trí của cài đặt toàn cầu và người dùng từ dòng lệnh, ví dụ sau sẽ đặt cài đặt chung thành c: \ global \ settings.xml và cài đặt người dùng thành c: \ user \ settings.xml :
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
Hiện tại không có thuộc tính hoặc phương tiện để thiết lập tệp người dùng và cài đặt chung nào được sử dụng với Maven. Để truy cập các giá trị này, bạn sẽ phải sửa đổi MavenCli và / hoặc DefaultMavenSinstallBuilder để đưa các vị trí tệp vào đối tượng Cài đặt đã giải quyết.
Bạn có thể sử dụng plugin trợ giúp maven để cho bạn biết nội dung của tệp người dùng và cài đặt toàn cầu.
mvn help:effective-settings
sẽ yêu cầu maven nhổ các thiết lập toàn cầu và người dùng kết hợp .
Đây là tập tin cấu hình cho Maven. Nó có thể được chỉ định ở hai cấp độ:
Cấp độ người dùng. Tệp settings.xml này cung cấp cấu hình cho một người dùng và thường được cung cấp trong $ {user.home} /. M2 / settings.xml.
NOTE: This location can be overridden with the CLI option:
-s /path/to/user/settings.xml
Cấp độ toàn cầu. Tệp cài đặt này cung cấp cấu hình cho tất cả người dùng Maven trên một máy (giả sử tất cả họ đều sử dụng cùng một cài đặt Maven). Nó thường được cung cấp trong $ {maven.home} /conf/sinstall.xml.
NOTE: This location can be overridden with the CLI option:
-gs /path/to/global/settings.xml
Các M2_HOME
biến môi trường cho một toàn cầu. Xem Cài đặt tham khảo :
Phần
settings
tử trongsettings.xml
tệp chứa các phần tử được sử dụng để xác định các giá trị cấu hình thực thi Maven theo nhiều cách khác nhau, nhưpom.xml
, nhưng không nên được gói cho bất kỳ dự án cụ thể nào hoặc phân phối cho đối tượng. Chúng bao gồm các giá trị như vị trí kho lưu trữ cục bộ, máy chủ kho lưu trữ từ xa thay thế và thông tin xác thực. Có hai vị trí nơi tệp cài đặt có thể sống:
- Cài đặt Maven:
$M2_HOME/conf/settings.xml
- Cài đặt của người dùng:
${user.home}/.m2/settings.xml
the former settings.xml are also called global settings, the latter settings.xml are referred to as user settings. If both files exists, their contents gets merged, with the user-specific settings.xml being dominant.
Phương thức nhanh và bẩn để xác định xem Maven có đang sử dụng cài đặt mong muốn hay không sẽ làm mất hiệu lực xml của nó và chạy một số lệnh maven an toàn yêu cầu cài đặt.
Nếu nó đọc tệp settings.xml này thì Maven báo lỗi: "Lỗi khi đọc settings.xml ..."