Maven部署到远程服务器

时间:2013-02-06 09:46:20

标签: maven deployment amazon-ec2 jetty

我想在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>

Setting.xml的

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

而且,他们有错误。

情况1.运行(mvn)站点部署

  

无法执行目标   org.apache.maven.plugins:maven-site-plugin:3.0:deploy(default-deploy)   on project sabo_proj_mvc:上传站点时出错:执行错误   文件传输命令:退出代码1 - 'ssh'不是内部代码   或外部命令,可操作程序或批处理文件。

情况2.运行(mvn)部署

  

无法执行目标org.apache.maven.plugins:maven-deploy-   插件:2.7:在项目MY_PROJ上部署(默认部署):失败   检索远程元数据   com.XXX:MY_PROJ:0.0.1-SNAPSHOT/maven-metadata.xml:无法转移   元数据com.XXX:my_proj:0.0.1-SNAPSHOT/maven-metadata.xml from / to EC2   (sftp://ec2-XX-XX-XX-XX.compute-1.amazonaws.com:8080 / www):不能   连接。原因:Session.connect:java.net.ConnectException:   连接被拒绝:连接

帮我plz

PS。请参阅此documentation =&gt; http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html

1 个答案:

答案 0 :(得分:1)

在这两种情况下,maven都会清楚地确定原因。

  

'ssh'不是内部或外部命令,可运行程序或批处理文件。

你有ssh命令吗?是否包含在$ PATH中?

  

无法连接。原因:Session.connect:java.net.ConnectException:连接被拒绝:连接

这可能是由于防火墙限制,也许远程主机不允许来自主机的连接。验证您是否能够建立从主机到远程

的ssh连接