2014-01-21 5 views
1

Я хочу развернуть мой сборщик maven скомпилированных OSGi в мой удаленный репозиторий OSGi. Я нахожусь в Windows 7 и использую maven-bundle-plugin (2.3.7) из eclipse. Репозиторий находится в linux и доступен через ssh.OSGi: как использовать PuTTY scp с maven-bundle-plugin

Я установил в settings.xml, чтобы использовать plink и pscp (инструменты шпателя), чтобы сделать работу ssh. В <distributionManagement> я поставил хранилище URL, который начинается с scpexe://

The Maven-Deploy цель прекрасно работает и загружает файлы .jar и Metadata.xml в хранилище.

Теперь я также хочу, чтобы метаданные OBR были созданы и загружены. Таким образом, я добавляю в конфигурации Maven-расслоении-плагин, <remoteOBR>my-repository</remoteOBR> (который является тот же идентификатор в качестве хранилища в <distributionManagement>.

При выполнении развертывания (после мавенно развертывания фазы заканчивается успешно), я получаю сообщение об ошибке.

[ERROR] Не удалось выполнить гол org.apache.felix: Maven-расслоение-плагин: 2.3.7: развертывание (по умолчанию-Deploy) на проекта загрузчике: Сбой передачи: код выхода: 1 - ' scp 'не распознается как внутренняя или внешняя команда , операционная программа или командный файл.
-> [Помощь 1]

Это означает, что плагин maven-bundle не использует команду pscp, как указано в settings.xml, а скорее «scp», которая недоступна на пути.

Как настроить плагин maven-bundle для загрузки данных OBR с помощью pscp PuTTY?

ответ

2

В конце концов я нашел рабочий раствор:

  1. не использовать внешний инструмент SSH (PuTTY), но только реализации SSH/SCP Maven-внутренний
  2. , таким образом, использовать вагон-SSH (не вагон-SSH-внешний)
  3. добавить имя пользователя, секретный ключ, местоположение и парольную фразу settings.xml (к сожалению, не может использовать театрализованное, но должен жёстко мою фразу в settings.xml (beuh))

Таким образом, POM выглядит (примечание, УПП: // протокол используется для URL)

<project> 
... 
    <distributionManagement> 
    <repository> 
     <id>my-repository</id> 
     <url>scp://repo.myserver.com/path/to/repo/</url> 
    </repository> 
    </distributionManagement> 
... 
    <build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.felix</groupId> 
      <artifactId>maven-bundle-plugin</artifactId> 
      <version>2.3.7</version> 
      <extensions>true</extensions> 
      <configuration> 
       ... 
       <remoteOBR>my-repository</remoteOBR> 
      </configuration> 
     </plugin> 
    </plugins> 
    <extensions> 
      <extension> 
      <groupId>org.apache.maven.wagon</groupId> 
      <artifactId>wagon-ssh</artifactId> 
      <version>2.5</version> 
      </extension> 
    </extensions> 
    </build> 
... 

И settings.xml (который находится в C: \ Users \ myUsernameOnWindows \ .m2 \)

<settings> 
    <servers> 
    <server> 
     <id>my-repository</id> 
     <username>myUsernameOnRepo</username> 
     <privateKey>C:/path/to/private/key/id_rsa</privateKey> 
     <passphrase>myPrivateKeyPassphrase</passphrase> 
    </server> 
    </servers> 
</settings> 
Смежные вопросы