2013-12-09 29 views
18

自分のリポジトリにデプロイするようにプロジェクトを設定しました。 mvn deployを実行すると、動作しているように見えますが、jarファイルをアップロードした後にmaven_metadata.xmlファイルをダウンロードする段階でハングアップします。maven_metadata.xmlが既に存在する場合は、Mavenデプロイメントがハングアップします

INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ myproject --- 
Uploading: scp://myrepodomain/.../myproject-0.06-2.jar 
Uploaded: scp://myrepodomain/.../myproject-0.06-2.jar (39013 KB at 6234.1 KB/sec) 
Uploading: scp://myrepodomain/.../myproject-0.06-2.pom 
Uploaded: scp://myrepodomain/.../myproject-0.06-2.pom (8 KB at 21.6 KB/sec) 
Downloading: scp://myrepodomain/.../maven-metadata.xml 
320/319 B 
.....here is where it just hangs forever 

私は、サーバー上のmaven-metadata.xmlのファイルを削除した場合、それが正常に動作し、ちょうどたて生成されたものをアップロードします。

私はSCPで単純なHTTPサーバーを使用していることにも言及する必要があります。大規模なアーチファクトシステムは、私がやっていることに対する過度の過ちであることがわかります。私はこれをデバッグする方法を理解することはできません。任意の提案をいただければ幸いです。

+0

バグを参照してください。https://jira.codehaus.org/browse/MDEPLOY-177 –

答えて

0

これは私がMaven 3.0.5(debianテストのデフォルト)への参照を見つけることができなかった不明確なバグのようです。 Maven 3.1.1をインストールするとこの問題は解決しました。

+8

これは、Maven 3.2.1を使用して私のところで発生し始めました。 –

+0

ubuntuでapt-getで3.0.5を削除した後、手動で3.3.3をインストールして問題が解決しました。 – TimP

+0

apache ssh-wagonが問題になります。https://issues.apache.org/jira/browse/WAGON-429。バージョン2.9が必要です!このバグは2年以上も厄介なものでした。主な配布にはバグがあります。 Ubuntu 14.04 LTS with mvn 3.0.5 –

8

私はpom.xml内でscpのすべてのリファレンスをsftpにスワップすることでこれを解決することができました。このソリューションの利点は、追加の構成を必要としないことです。詳細については、http://jira.codehaus.org/browse/MNG-5605を参照してください。

+0

パーフェクト! プロトコルをscpからsftpに変更すると、私の問題が解決しました。 – Krzysiek

+0

これは、最新のMaven 3.5.0でもMaven 3.1.1で動作するので、最高の答えです。 'scp'と' scpexe'はmaven 3.1.1で動作しましたが、それ以降のバージョンのmavenでは動作しなくなりました。 –

8

OS/X 10.9.3とMaven 3.2.3では、私は同じ問題がありました。

デプロイ中にファイルをダウンロードするときに壊れたワゴンプラグインのようです。

システムsshコマンドを使用するには、ワゴンコネクタを"Maven Wagon SSH External"に切り替えて解決しました。私のpom.xmlを修正以下

 <extension> 
      <groupId>org.apache.maven.wagon</groupId> 
      <artifactId>wagon-ssh</artifactId> 
      <version>2.6</version> 
     </extension> 

はに切り替え:

 <extension> 
      <groupId>org.apache.maven.wagon</groupId> 
      <artifactId>wagon-ssh-external</artifactId> 
      <version>2.6</version> 
     </extension> 

そして

scpexe://[email protected] 
では

scp://[email protected] 

を置き換えます

〜urlタグ:

<repository> 
     ... 
     <url>scpexe://[email protected]</url> 
     ... 
    </repository> 
+4

wagon-ssh(私の場合は2.9)のそれ以降のバージョンにアップグレードすることで問題は解決しました! – wau

+1

同じですが、バージョンを2.10に修正してください。 – Daniel

0

私はこのような問題がありました。私がwgetを試してみたところ、...maven_metadata.xmlのURLには404応答が届きました。

私のソリューションは、これらのサーバーのタイムアウトを短縮することでした(デフォルトは2分、デフォルトは2秒)。

まず、このURLのリポジトリのIDを確認する必要があります。

$ find . -name 'pom*.xml' | xargs grep factoryonline 

が見つかっPOMに移動し、リポジトリIDを取得する:あなたはあなたののPOMでこのリポジトリを検索、artifactoryonline.orgからダウンロードの上に立ち往生している場合それはあります。 そして、このような何かにあなたの ~/.m2/settings.xmlを編集:

<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 
    https://maven.apache.org/xsd/settings-1.0.0.xsd"> 
    <servers> 
      <server> 
        <id>Metamarkets-repository</id> 
        <configuration> 
          <httpConfiguration> 
            <all> 
              <connectionTimeout>2000</connectionTimeout> 
              <readTimeout>2000</readTimeout> 
            </all> 
          </httpConfiguration> 
        </configuration> 
      </server> 
    </servers> 
</settings> 

これはダウンロードが2秒後に放棄し、ビルドが(maven_metadata.xmlはどこか他の場所からダウンロードされますと仮定した場合)継続させるようになります。

関連する問題