0

我们在 linux 服务器上有一个远程存储库。当我在 linux 机器上工作时,使用 scp 访问存储库没有任何问题。我现在想在项目的 Windows 机器上工作,但我无法让远程存储库工作。

我遵循了这些说明:http ://ekawas.blogspot.com/2007/02/maven-windows-and-deploying-to-remote.html

我的 settings.xml 中有这个

<servers>
<server>
  <id>ssh-repository</id>
  <username>username</username>
  <password>password</password>
  <privateKey>C:\Dev\programs\ssh_private_key.ppk</privateKey>
  <configuration>
    <sshExecutable>plink</sshExecutable>
    <scpExecutable>pscp</scpExecutable>
  </configuration>
</server>

  ...
  <profiles>
    <profile>
      <id>defaultProfile</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <repositories>
        <repository>
          <id>ssh-repository</id>
          <name>SSH-Repository</name>
          <url>scpexe://host:/path-to-rep</url>
        </repository>
      </repositories>
    </profile>
  </profiles>

当我只是在命令提示符下制作 pscp 时,我没有任何问题。当我尝试 mvn package 或 mvn clean 时,会出现以下错误:

Non-resolvable parent POM: Could not transfer artifact .... from/ro ssh-repository ...

我的 settings.xml 有问题吗?

4

2 回答 2

0

我能给出的最佳建议是使用像ArchivaArtifactoryNexus(按字母顺序排列)这样的存储库管理器。这将使您构建独立于您正在运行的平台的运行。此外,它将使设置的配置更简单。

于 2012-05-25T16:21:16.807 回答
0

只是如果有人有同样的问题。我设法使用winscp从我的Windows机器连接到我的ssh存储库。

这是步骤

  1. 安装winscp
  2. 使用 winscp 连接到您的主机
  3. 设置 winscp 的设置 -> 内存 -> 将配置保存在 ini 文件中
  4. 将 ssh-rsa 密钥添加到 know_hosts 文件 > username.ssh\known_hosts
  5. 编辑 \username.m2\settings.xml 中的 settings.xml

    • 不要使用 sshExecutable 和 scpExecutable
    • 使用 scp://hostname/location/to/repo
于 2012-06-25T14:29:22.463 回答