2

Amazon EC2 にデプロイしたいと考えています。

しかし、展開できません。助けが必要です。

私はmavenプロジェクトとjettyコンポーネントを使用しています。

これが私のコードです。

pom.xml

<dependencies>
...
</dependencies>

<build>
  <finalName>MY_PROJ</finalName>
  <plugins>
    <plugin>
      <groupId>org.mortbay.jetty</groupId>
         <artifactId>maven-jetty-plugin</artifactId>
    </plugin>
  </plugins>

  <extensions>
    <!-- Enabling the use of FTP -->
    <extension>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-ssh-external</artifactId>
      <version>1.0-beta-6</version>
    </extension>
    <extension>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-ssh</artifactId>
      <version>1.0-alpha-6</version>
    </extension>
  </extensions>
</build>

<distributionManagement>
  <site>
    <id>EC2</id>
    <url>scpexe://ec2-XX-XX-XX-XX.compute-1.amazonaws.com:8080/www</url>
  </site>
  <repository>
    <id>EC2</id>
    <url>sftp://ec2-XX-XX-XX-XX.compute-1.amazonaws.com:8080/www</url>
  </repository>
</distributionManagement>

設定.xml

<server>
  <id>EC2</id>
  <username>ubuntu</username>
  <privateKey>c:\MY_KEY.pem</privateKey>
  <passphrase></passphrase>
  <filePermissions>664</filePermissions>
  <directoryPermissions>775</directoryPermissions>
</server>

そして、彼らにはエラーがあります。

状況 1. run (mvn) site-deploy

プロジェクト sabo_proj_mvc で目標 org.apache.maven.plugins:maven-site-plugin:3.0:deploy (default-deploy) を実行できませんでした: サイトのアップロード中にエラーが発生しました: ファイル転送のコマンドを実行中にエラーが発生しました: 終了コード 1 - 「ssh」は内部または外部コマンド、操作可能なプログラム、またはバッチ ファイルではありません。

状況 2. run (mvn) deploy

プロジェクト MY_PROJ で目標 org.apache.maven.plugins:maven-deploy- plugin:2.7:deploy (default-deploy) を実行できませんでした: リモート メタデータ com.XXX:MY_PROJ:0.0.1-SNAPSHOT/maven-metadata を取得できませんでした.xml: EC2 との間でメタデータ com.XXX:my_proj:0.0.1-SNAPSHOT/maven-metadata.xml を転送できませんでした (sftp://ec2-XX-XX-XX-XX.compute-1.amazonaws.com :8080/www): 接続できません。理由: Session.connect: java.net.ConnectException: 接続が拒否されました: 接続

助けてください

ps。このドキュメントを参照してください=> http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html

4

1 に答える 1

1

どちらの状況でも、理由は maven によって明確に識別されます。

「ssh」は、内部または外部コマンド、操作可能なプログラム、またはバッチ ファイルではありません。

sshコマンドはありますか?$PATH に含まれていますか?

接続できません。理由: Session.connect: java.net.ConnectException: 接続が拒否されました: 接続

これは、ファイアウォールの制限が原因である可能性があります。リモート ホストがホストからの接続を許可していない可能性があります。ホストからリモートへの ssh 接続を確立できるかどうかを確認します

于 2013-07-01T16:47:45.510 に答える