【问题标题】:Import $ivy in Ammonite在 Ammonite 中导入 $ivy
【发布时间】:2019-04-09 18:55:10
【问题描述】:

我需要在 Ammonite 脚本中导入 sikulixapi。我可以这样做。

因此,如果我从 Ammonite 的交互式控制台执行此操作:

@ import $ivy.`com.sikulix:sikulixapi:1.1.0` 
https://repo1.maven.org/maven2/com/sikulix/sikulixapi/1.1.0/sikulixapi-1.1.0.pom
  100,0% [##########] 5,3 KiB (37,6 KiB / s)
https://repo1.maven.org/maven2/com/nativelibs4java/bridj/0.6.2/bridj-0.6.2.pom
  100,0% [##########] 18,1 KiB (226,0 KiB / s)
https://repo1.maven.org/maven2/com/sikulix/sikulixlibslux/1.1.0/sikulixlibslux-1.1.0.pom
  100,0% [##########] 2,6 KiB (20,8 KiB / s)
https://repo1.maven.org/maven2/org/swinglabs/swing-layout/1.0.3/swing-layout-1.0.3.pom
  100,0% [##########] 858 B (6,5 KiB / s)
https://repo1.maven.org/maven2/com/nativelibs4java/nativelibs4java-parent/1.8/nativelibs4j…
  100,0% [##########] 16,8 KiB (204,3 KiB / s)
Failed to resolve ivy dependencies:
  jxgrabkey:jxgrabkey:1.0 
    not found: /home/jenkins/.ivy2/local/jxgrabkey/jxgrabkey/1.0/ivys/ivy.xml
    not found: https://repo1.maven.org/maven2/jxgrabkey/jxgrabkey/1.0/jxgrabkey-1.0.pom

jxgrabkey 确实存在于 Maven 中。

这也失败了:

@ import $ivy.`jxgrabkey:jxgrabkey:1.0` 
Failed to resolve ivy dependencies:abkey/jxgrabkey/1.0/jxgrabkey-1.0.pom.sha1

我没有使用任何 HTTP 代理。

其他版本的sikulixapi还有其他问题:

@ import $ivy.`com.sikulix:sikulixapi:1.1.2` 
Failed to resolve ivy dependencies:
  com.sikulix:sikulix2tigervnc:2.0.0-SNAPSHOT 
    not found: /home/jenkins/.ivy2/local/com.sikulix/sikulix2tigervnc/2.0.0-SNAPSHOT/ivys/ivy.xml
    not found: https://repo1.maven.org/maven2/com/sikulix/sikulix2tigervnc/2.0.0-SNAPSHOT/sikulix2tigervnc-2.0.0-SNAPSHOT.pom
  com.github.vidstige:jadb:-v1.0-g94ebf38-23 
    not found: /home/jenkins/.ivy2/local/com.github.vidstige/jadb/-v1.0-g94ebf38-23/ivys/ivy.xml
    not found: https://repo1.maven.org/maven2/com/github/vidstige/jadb/-v1.0-g94ebf38-23/jadb--v1.0-g94ebf38-23.pom

@ import $ivy.`com.sikulix:sikulixapi:1.1.1` 
https://repo1.maven.org/maven2/com/sikulix/sikulixapi/1.1.1/sikulixapi-1.1.1.pom
100,0% [##########] 6,6 KiB (46,5 KiB / s)
https://repo1.maven.org/maven2/com/melloware/jintellitype/1.3.9/jintellitype-1.3.9.pom
100,0% [##########] 9,9 KiB (216,3 KiB / s)
Failed to resolve ivy dependencies:
  com.github.vidstige:jadb:-v1.0-g94ebf38-23 
    not found: /home/jenkins/.ivy2/local/com.github.vidstige/jadb/-v1.0-g94ebf38-23/ivys/ivy.xml
    not found: https://repo1.maven.org/maven2/com/github/vidstige/jadb/-v1.0-g94ebf38-23/jadb--v1.0-g94ebf38-23.pom

尝试使用 Ammonite 1.2.1、1.3.3 和 1.4.0。

【问题讨论】:

    标签: scala ammonite


    【解决方案1】:

    jxgrabkey:jxgrabkey:1.0 存在于 Maven 存储库中,但根据 your mvnrepository link,它不在 Maven Central 上,而是在 http://labs.consol.de/maven/repository(请参阅 POM 和 JAR 链接的目标)。

    因此必须将额外的存储库添加到 Ammonite 会话中,例如

    @ interp.repositories() ++= Seq(coursier.MavenRepository("https://labs.consol.de/maven/repository"))
    
    @ import $ivy.`com.sikulix:sikulixapi:1.1.0`
    

    然后就可以正常添加依赖了。

    请注意,我将协议更改为 https(http 重定向到 https,但 coursier 不支持更改协议的重定向,coursier 是在 Ammonite 中加载依赖项的库)。

    【讨论】:

      【解决方案2】:

      a3var 答案是正确的。 按照同样的技术,我已经成功导入了 sikulixapi 1.1.1:

      interp.repositories() ++= Seq(coursier.MavenRepository("https://jitpack.io"))
      import $ivy.`com.sikulix:sikulixapi:1.1.1`
      

      【讨论】:

        猜你喜欢
        • 2021-05-23
        • 2019-12-24
        • 2021-05-26
        • 2012-06-08
        • 1970-01-01
        • 2012-09-08
        • 1970-01-01
        • 2017-04-07
        • 2019-10-21
        相关资源
        最近更新 更多