使用maven通过ssh复制战争

时间:2011-09-27 19:05:36

标签: maven wagon

我想通过ssh复制war文件。我有以下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设置了正确的用户名和密码。此外,我可以手动将文件复制到远程主机,没有任何propblem通过scp。

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

如果我改变

,它对我有用
<toFile>ROOT.war</toFile>
<url>scpexe://my.server.com</url>

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

答案 1 :(得分:0)

将文件复制到根文件夹。如果您使用此:

<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>