2013-07-07 44 views
11

Tôi có thể có nhiều kho lưu trữ trong tệp settings.xml Maven với thông tin đăng nhập máy chủ duy nhất không?Đặt thông tin đăng nhập máy chủ duy nhất trong Maven cho nhiều kho lưu trữ

Chúng tôi đang sử dụng Maven 3.0.4 để triển khai hiện vật lên phiên bản pro Nexus 2.2.1

Chúng tôi có nhiều kho trên cùng một máy chủ, và người dùng sử dụng các thông tin tương tự để truy cập vào tất cả các kho.

Các settings.xml nhiều kho với các thông tin tương tự:

<repositories> 
<repository> 
    <id>Staging-group</id> 
    <url>http://server/nexus/content/groups/Staging-group</url> 
<repository> 
    <id>RELEASES</id> 
    <url>http://server/nexus/content/repositories/RELEASES</url> 
</repository> 
<repository> 
    <id>INTERNALS</id> 
    <url>http://server/nexus/content/repositories/INTERNALS</url> 
</repository> 
<repository> 
    <id>SNAPSHOTS</id> 
    <url>http://server/nexus/content/repositories/SNAPSHOTS</url> 
</repository> 
</repositories> 
..... 
<servers> 
<server> 
    <id>Staging-group</id> 
    <username>user</username> 
    <password>password</password> 
</server> 
<server> 
    <id>RELEASES</id> 
    <username>user</username> 
    <password>password</password> 
</server> 
<server> 
    <id>SNAPSHOTS</id> 
    <username>user</username> 
    <password>password</password> 
</server> 
<server> 
    <id>INTERNALS</id> 
    <username>user</username> 
    <password>password</password> 
</server> 
</servers> 

Nexus sử dụng Active Directory xác thực. Vì vậy, mỗi khi người dùng thay đổi mật khẩu Windows của họ, họ cần phải thay đổi tất cả bốn mục nhập trong settings.xml tệp

Có cách nào để khai báo thông tin đăng nhập một lần cho tất cả các kho lưu trữ không?

Xin cảm ơn, Eyal

Trả lời

5

Vâng, ít nhất tôi tin điều này sẽ hiệu quả.

Thay vì

<repository> 
    <id>SNAPSHOTS</id> 
    <url>http://server/nexus/content/repositories/SNAPSHOTS</url> 
</repository> 

Sử dụng

<repository> 
    <id>nexus</id> 
    <name>SNAPSHOTS</name> 
    <url>http://server/nexus/content/repositories/SNAPSHOTS</url> 
</repository> 

Sau đó chỉ cần tham khảo mối quan hệ như id máy chủ của bạn.

+0

có vẻ như điều này đang hoạt động. Tuy nhiên, giai đoạn "Xác thực" tạo ra cảnh báo này khi xây dựng bất kỳ dự án nào: '[WARNING] 'profiles.profile [development] .repositories.repository.id' phải là duy nhất nhưng tìm thấy kho lưu trữ trùng lặp với id nexus @ C: \ Documents and Settings \ user \ .m2 \ settings.xml' –

+0

coi đó là cảnh báo, bạn nên ổn. bên trong, tên là mục duy nhất cho các kho lưu trữ trong quản lý phân phối, chủ yếu là để chụp riêng biệt từ các tạo phẩm phát hành. –

+0

điều này không làm việc cho tôi trên mvn 3.5.2, nếu tôi định nghĩa nhiều kho với cùng một id chỉ kho cuối cùng được sử dụng bởi maven để giải quyết các phụ thuộc, có ai tìm ra cách giải quyết này không? –

0

Dường như tôi không được phép nhận xét vì tôi chưa đủ kinh nghiệm. Như thể :) Tuy nhiên, liên quan đến CẢNH BÁO profiles.profile[development].repositories.repository.id phải là duy nhất, tôi thấy đây là hai tệp settings.xml được tìm thấy. Một trong một cài đặt maven ${maven-install}/conf/settings.xml cũng như một trong ~/.m2/settings.xml. Quyết định cái nào bạn muốn và làm sạch cái kia.