Использование maven для копирования войны через ssh - PullRequest
2 голосов
/ 27 сентября 2011

Я хочу скопировать военный файл через ssh. У меня есть следующий пом:

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

Пожалуйста, помогите мне решить эту проблему.

Ответы [ 2 ]

1 голос
/ 28 сентября 2011

Это работает для меня, если я изменяю

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

до

<toFile>/tmp/ROOT.war</toFile>
<url>scp://my.server.com</url>
0 голосов
/ 19 января 2012

Вы копируете свой файл в корневую папку.Если вы используете это:

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