Maven,

2010-05-09 12 views
10

'u dağıtmak için ortak anahtarı kullanmaz. Java yapayımlarını bir sunucuya dağıtmak için SSH kullanıyorum. Parola girmeksizin, sunucuya SSH'yi etkileşimli olarak kurabilmem için anahtarlarım var, ancak "mvn deploy" veya "mvn release:perform" komutlarını çalıştırmaya çalıştığımda, (parola sorgusu olduğunu farz ediyorum).Maven,

Benim ~/.m2/settings.xml dosyam, sunucu için kullanıcı adını içerir (çünkü yerel kullanıcı adımımdan farklıdır) ve farklı kullanıcı gerektiren sunucunun id numaralı başvurusunu içerir.

cevap

8

settings.xml ürününüzün gereken her şeyi sağladığından emin misiniz? privateKey numaralı telefonunuzu (ve gerekiyorsa passphrase) bildirdiniz mi? Böyle bir şey:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
         http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
    ... 
    <servers> 
    <server> 
     <id>server001</id> 
     <username>my_login</username> 
     <privateKey>${user.home}/.ssh/id_dsa</privateKey> 
     <passphrase>some_passphrase</passphrase> <!-- if required --> 
     <filePermissions>664</filePermissions> 
     <directoryPermissions>775</directoryPermissions> 
     <configuration></configuration> 
    </server> 
    </servers> 
    ... 
</settings> 
+0

öğesine ihtiyacım vardı. Bu oldukça hayal kırıklığı yaratıyor! Neden Uvuntu anahtarlığımdaki şifreyi, mvn'nin yaptığı gibi okumaz? – magneticMonster

5

sizin distributionManagement bölümünde, kullanmayı deneyin "scpexe: //" yerine "scp: //" sizin url.

Bu, Maven'e yerleşik olan scp'nin Java uygulamasını kullanmak yerine standart scp programını çağırır (yolunuzda olduğunu varsayarak). Standart scp, ssh-agent'ı (Ubuntu'da, public-key auth için GDM'ye giriş yaptığınızda otomatik olarak başlar) kullanır.

+1

Ayrıca, bu durumda 'wagon-ssh-external' kullanmanız gerekir. –