【问题标题】:Using maven to copy war via ssh使用 maven 通过 ssh 复制战争
【发布时间】:2012-01-19 06:47:53
【问题描述】:

我想通过 ssh 复制战争文件。我有以下pom:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>wagon-maven-plugin</artifactId>
    <version>1.0-beta-3</version>
    <executions>
      <execution>
        <id>default-cli</id>
        <goals>
          <goal>upload-single</goal>
        </goals>
        <configuration>
          <fromFile>${project.build.directory}/${project.build.finalName}.war</fromFile>
          <toFile>ROOT.war</toFile>
          <url>scpexe://my.server.com</url>
          <serverId>my.server.id</serverId>
        </configuration>
      </execution>
    </executions>
</plugin>

当我尝试执行 mvn wagon:upload-single 时,收到以下消息:

Embedded error: Error executing command for transfer
Exit code 255 - Permission denied (publickey,gssapi-with-mic,password).

我的 settings.xml 设置了正确的用户名和密码。我也可以通过 scp 手动将文件复制到远程主机而没有任何问题。

请帮我解决这个问题。

【问题讨论】:

    标签: maven wagon


    【解决方案1】:

    如果我改变它对我有用

    <toFile>ROOT.war</toFile>
    <url>scpexe://my.server.com</url>
    

    <toFile>/tmp/ROOT.war</toFile>
    <url>scp://my.server.com</url>
    

    【讨论】:

    • 感谢您的回复!在我的情况下,控制台告诉我:“嵌入式错误:无法连接。原因:身份验证失败”。也许您不必为“/tmp”输入密码?..
    • “嵌入式错误:无法连接。原因:身份验证失败” - 当settings.xml 中的密码错误时,我收到此错误消息。你检查了吗?
    • 是的,密码正确。我使用相同的密码来手动执行命令(使用 ctrl+c/ctrl+v)。我认为问题出在 ssh 上。我在某处读到我必须生成 ssh 密钥并将一个添加到接收服务器。无论如何,谢谢你)如果我解决了问题,我会写在那里。
    【解决方案2】:

    您将文件复制到根文件夹。如果你使用这个:

    <toFile>ROOT.war</toFile>
    <url>scpexe://my.server.com</url>
    

    然后就像说:复制到my.server.com,我们这个文件路径:/ROOT.war

    您不太可能访问该文件夹。

    尝试使用例如您的主文件夹:

    <toFile>/home/username/ROOT.war</toFile>
    <url>scpexe://my.server.com</url>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      • 1970-01-01
      相关资源
      最近更新 更多