我将sbt发布到本地常春藤仓库(${$HOME}/.ivy2
)。
然后我改变了播放配置文件的方式,该播放开始使用默认的本地常春藤回购(相同的${$HOME}/.ivy2
)。但是玩没有设法找到jar,我发布了sbt。
我想我会说明为什么会发生这种情况。
下载的所有其他依赖项都具有类似
的结构ivy_home/cache/group_id/artifact_id/jars/artifact_id-version.jar
e.g. /home/maxim/.ivy2/cache/com.typesafe.akka/akka-actor/jars/akka-actor-2.0.1.jar
但我用sbt发布的jar位于
ivy_home/local/group_id/artifact_id/version/jars/artifact_id.jar
e.g. /home/maxim/.ivy2/local/com.mkotolyov.test/server-core/1.1.1-SNAPSHOT/jars/server-core.jar
我用谷歌搜索,但没有找到如何配置sbt以“默认”结构发布。
我在Build.scala中的项目
lazy val core = Project(
"server-core",
file("core"),
settings = buildSettings ++ Seq(
publishTo := Some(myProxyMavenRepo),
publishMavenStyle := true,
publishArtifact in Test := false,
pomIncludeRepository := {
_ => false
},
resolvers := depResolvers,
unmanagedResourceDirectories in Compile <+= baseDirectory( _ / "src" ),
libraryDependencies ++= Seq(
config,
sprayJson,
scalatest,
prettyTime,
casbahCore, casbahCommons, casbahQuery,
mysql, squeryl, postgresql,
quartz
)
)
)
我有标记publishMavenStyle := true
,但它仅针对普通publish
,而不针对publish-local
。我试图删除它的任何方式 - 没有任何改变。
答案 0 :(得分:2)
我已经添加了Resolver.defaultLocal以恢复列表并且播放找到了我的jar。
resolvers := depResolvers :+ Resolver.defaultLocal