带有远程存储库和pscp的Windows上的maven不起作用

时间:2012-05-25 13:35:35

标签: maven

我们在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有问题吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

如果有人遇到同样的问题。我设法通过winscp从我的Windows机器连接到我的ssh存储库。

这是步骤

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

    中的settings.xml
    • 不要使用sshExecutable和scpExecutable
    • 使用scp:// hostname / location / to / repo