当具有以下内容的脚本文件(file.sc)时:
import ammonite._, Resolvers._
val mock_client_repo = Resolver.Http("Unisay at bintray","http://dl.bintray.com/unisay/maven",MavenPattern,true)
interp.resolvers() = interp.resolvers() :+ mock_client_repo
import $ivy.`com.github.unisay::mockserver-client-scala:0.2.0`
import org.mockserver.client.server.MockServerClient
import com.github.unisay.mockserver.scala.DSL.Statuses._
import com.github.unisay.mockserver.scala.DSL._
val port = 3000
val host = "127.0.0.1"
implicit val server = new MockServerClient(host,port)
forAnyRequest respond Ok我试图按以下方式执行: amm files.sc
我得到以下错误:
编译jar:file:/usr/local/bin/amm!/org/apache/ivy/core/settings/ivysettings.xml ::file.sc设置::file.sc=:解析依赖关系::com.github.unisay#mockserver-client-scala_2.11-caller;working conf: default *问题摘要:未找到警告模块: com.github.unisay#mockserver-client-scala_2.11;0.2.0 ====本地:尝试 /home/eli/.ivy2/local/com.github.unisay/mockserver-client-scala_2.11/0.2.0/ivys/ivy.xml -神器 com.github.unisay#mockserver-client-scala_2.11;0.2.0!mockserver-client-scala_2.11.jar: /home/eli/.ivy2/local/com.github.unisay/mockserver-client-scala_2.11/0.2.0/jars/mockserver-client-scala_2.11.jar ==== m2:尝试过 /home/eli/.m2/repository/com/github/unisay/mockserver-client-scala_2.11/0.2.0/ivy-0.2.0.xml -神器 com.github.unisay#mockserver-client-scala_2.11;0.2.0!mockserver-client-scala_2.11.jar: /home/eli/.m2/repository/com/github/unisay/mockserver-client-scala_2.11/0.2.0/mockserver-client-scala_2.11-0.2.0.jar ====中心:尝试 2.11-0.2.0.pom -神器 com.github.unisay#mockserver-client-scala_2.11;0.2.0!mockserver-client-scala_2.11.jar: 2.11-0.2.0.jar *使用详细或调试消息级别了解线程“主”ammonite.runtime.tools.IvyThing$IvyResolutionException:中的详细信息异常,无法解决未解决的依赖关系: com.github.unisay#mockserver-client-scala_2.11;0.2.0:未找到
但是,如果运行从repl内部粘贴的相同的代码副本,一切都可以正常工作。
我做错了什么?
发布于 2018-08-30 06:40:18
http://ammonite.io/#Multi-stageScripts
默认情况下,脚本中的所有内容都是作为单个块编译和执行的。虽然您可以在脚本运行之前使用Magic来加载其他脚本或常春藤构件,但是这些脚本只能加载“硬编码”脚本或工件,并且不能加载不同的脚本,这取决于某些运行时变量。 如果希望根据运行时值加载不同的脚本或常春藤工件,可以使用运行时等效的魔术导入:
import $cp变成interp.load.cpimport $file变成interp.load.moduleimport $ivy变成interp.load.ivy在你的情况下,改变
import $ivy.`com.github.unisay::mockserver-client-scala:0.2.0`至
interp.load.ivy("com.github.unisay" %% "mockserver-client-scala" % "0.2.0")https://stackoverflow.com/questions/40257174
复制相似问题