我试图发布一个sbt插件到一个本地文件回购。在插件的build.sbt中我有:
publishTo := Some(Resolver.file("localtrix", file("/Users/jast/repo/localtrix")))我运行publish任务并将其发布到/Users/jast/repo/localtrix/org/me/sbt-plugin_2.12_1.0/1.2.3
在另一个项目中,我想解决这个插件。在project/plugins.sbt中,我有:
resolvers += Resolver.file("localtrix", file("/Users/jast/repo/localtrix"))
addSbtPlugin("org.me" % "sbt-plugin" % "1.2.3")我试着在这个项目中运行sbt,我得到:
[info] Updating ProjectRef(uri("file:/Users/jast/playspace/untitled38/project/"), "untitled38-build")...
[warn] module not found: org.me#sbt-plugin;1.2.3
[warn] ==== typesafe-ivy-releases: tried
[warn] https://repo.typesafe.com/typesafe/ivy-releases/org.me/sbt-plugin/scala_2.12/sbt_1.0/1.2.3/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.me/sbt-plugin/scala_2.12/sbt_1.0/1.2.3/ivys/ivy.xml/2017.2+4-3037ba82+20180314-1919/ivys/ivy.xml
[warn] ==== local: tried
[warn] /Users/jast/.ivy2/local/org.me/sbt-plugin/scala_2.12/sbt_1.0/1.2.3/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/org/me/sbt-plugin_2.12_1.0/1.2.3/sbt-plugin-1.2.3.pom
[warn] ==== local-preloaded-ivy: tried
[warn] /Users/jast/.sbt/preloaded/org.me/sbt-plugin/scala_2.12/sbt_1.0/1.2.3/ivys/ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:////Users/jast/.sbt/preloaded/org/me/sbt-plugin_2.12_1.0/1.2.3/sbt-plugin-1.2.3.pom
[warn] ==== localtrix: tried
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.me#sbt-plugin;1.2.3: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::那么,我如何才能以一种同样能够正确解析的方式发布到本地回购呢?
注意:publishLocal和.ivy2/local解析是有效的,但是我希望能够发布到回购系统,这样我就可以复制到另一台机器上,而不会干扰目录。
发布于 2018-03-17 03:55:18
默认情况下,sbt插件是发布常春藤风格的,所以当您引用本地存储库时,请使用Resolver.ivyStylePatterns。出版:
publishTo := Some(Resolver.file("localtrix", file("/Users/jast/repo/localtrix"))(Resolver.ivyStylePatterns))并解决:
resolvers += Resolver.file("localtrix", file("/Users/jast/repo/localtrix"))(Resolver.ivyStylePatterns)
addSbtPlugin("org.me" % "sbt-plugin" % "1.2.3")或者,您可以为插件设置publishMavenStyle := true,但我看到您已经知道了。
发布于 2018-03-14 19:02:27
你在名字上错过了scala版本。而且您发布的工件中还有插件名_1.0的奇怪后缀,所以仅仅修复scala版本是不够的。
这应该能行。
addSbtPlugin("org.me" % "sbt-plugin_2.12_1.0" % "1.2.3")如果您发现这个后缀_1.0是从哪里来的,那么修复scala版本应该会有帮助:
addSbtPlugin("org.me" %% "sbt-plugin" % "1.2.3")评论后的更新
好的,谢谢,我不知道插件的工作方式不同。
但是,尝试为解析器定义不同的解析器(适用于我):
resolvers += "localtrix" at "file:///Users/jast/repo/localtrix"
addSbtPlugin("org.me" % "sbt-plugin" % "1.2.3")https://stackoverflow.com/questions/49285413
复制相似问题