3

アーティファクトを scp 経由でアクセスできるリモート リポジトリにデプロイしようとしていますが、パスワード プロンプトが繰り返し表示されるという問題があります。私のsettings.xmlには、次のフラグメントが含まれています:

<servers>
    <server>
        <id>example.com</id>
        <username>myusername</username>
        <password>mypassword</password>
        <filePermissions>664</filePermissions>
        <directoryPermissions>775</directoryPermissions>
        <configuration>
        </configuration>
    </server>
</servers>

コマンド ラインの対話は次のようになります。

$ mvn deploy:deploy-file -Dfile=ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dpackaging=jar -Dversion=11.2.0.1.0 -DrepositoryId=example.com -Durl=scp://example.com/maven2/
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'deploy'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [deploy:deploy-file] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [deploy:deploy-file {execution: default-cli}]
Keyboard interactive required, supplied password is ignored
Password: : mypassword
Uploading: scp://example.com/maven2//com/oracle/ojdbc6/11.2.0.1.0/ojdbc6-11.2.0.1.0.jar
2061K uploaded  (ojdbc6-11.2.0.1.0.jar)
[INFO] Retrieving previous metadata from example.com
Keyboard interactive required, supplied password is ignored
Password: : mypassword
[INFO] repository metadata for: 'artifact com.oracle:ojdbc6' could not be found on repository: example.com, so will be created
[INFO] Uploading repository metadata for: 'artifact com.oracle:ojdbc6'
Keyboard interactive required, supplied password is ignored
Password: : mypassword
[INFO] Uploading project information for ojdbc6 11.2.0.1.0
Keyboard interactive required, supplied password is ignored
Password: : mypassword
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 30 seconds
[INFO] Finished at: Thu Sep 02 13:03:33 CEST 2010
[INFO] Final Memory: 5M/90M
[INFO] ------------------------------------------------------------------------

ここにはいくつかの問題があります。

  1. settings.xml でパスワードが指定されているにもかかわらず、パスワードの入力を求められます。
  2. パスワードはコンソールにエコーバックされます
  3. パスワードを覚えておらず、代わりに 4 回尋ねてきます。

settings.xml からのパスワードを使用するか、パスワードを画面にエコーせずに 1 回尋ねるように Maven を構成するにはどうすればよいですか?

編集:これは Ubuntu Linux で、同僚が Windows XP で同じ問題を再現しました。リポジトリをローカル パスにマウントすることは Windows ではオプションではないため、まだ解決策を探しています。

4

7 に答える 7

3

maven-users リストで以下を見つけました。

使用されるサーバーの sshd PasswordAuthentication noyes私のmaven構成に切り替えた後、正常に動作します。

于 2012-10-31T13:38:15.067 に答える
0

正確な解決策はありませんが、少なくとも次のように機能します。

ファイル〜/ .m2/settings.xmlにサーバーエントリを作成します。

<server>
  <id>example-dist</id>
  <username>myusername</username>
  <password>ignored</password>
</server>

次のように、deployまたはdeploy:deploy-fileを実行します。

mvn deploy -DrepositoryId=example-dist

指定されたユーザー名のパスワードの入力を求められます。settings.xmlのパスワードは無視されます。

毎回パスワードを提供したくない場合は、ssh-keygenを使用してsshキーを生成することで提供できます。生成された公開鍵は、配布サーバーのauthorized_keysファイルに保存する必要があります(詳細については、Webまたはマニュアルページのいくつかのチュートリアルを参照してください)。

于 2010-10-08T09:00:29.130 に答える
0

それ以来、Nexusをリポジトリ マネージャーとしてインストールし、Web インターフェイスを使用してサード パーティの jar をアップロードしています。

于 2011-02-07T22:18:40.337 に答える
0

settings.xml からの正しいサーバー エントリを使用するように pom のrepositoryIdを設定しましたか。設定していないように見えるため、id: remote-repository を使用します。または、それに応じて settings.xml を変更しましたか。

于 2010-09-02T11:25:28.483 に答える
0

回避策として、現在、sshfs を使用してリモート リポジトリをマウントし、maven コマンドでファイルの URL を使用しています。

$ sudo adduser jh fuse
$ sudo mkdir -p /mnt/example.com/maven2
$ sudo chown -R jh:jh /mnt/example.com
$ sshfs username@example.com:/maven2 /mnt/example.com/maven2
$ mvn deploy:deploy-file -Dfile=ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dpackaging=jar -Dversion=11.2.0.1.0 -Durl=file:///mnt/example.com/maven2/repository/

この場合、settings.xml でサーバーを構成する必要はありません。repositoryId をコマンド ラインで指定する必要はなく、ファイル URL でシェルの自動補完を使用できます。

誰かが問題を再現したり、maven 標準を使用して解決策を提案したりできる場合は、まだ興味があります。

于 2010-09-04T10:44:42.200 に答える
0

このバグは関連しているようです。 http://jira.codehaus.org/browse/WAGON-323 wagon-ssh-2.4 でも、「キーボード インタラクティブが必要です。提供されたパスワードは無視されます」というメッセージが表示されます。設定しようとしまし<interactiveMode>false</interactiveMode>たが、認証がすぐに失敗します。

于 2013-05-29T11:15:36.980 に答える