我的项目依赖于外部jar.我创建了一个目录lib并将jar文件复制到其中.这是我的build.sbt:
name := "approxstrmatch"
version := "1.0"
scalaVersion := "2.10.4"
unmanagedJars in Compile += file("lib/secondstring-20140729.jar")
libraryDependencies+="org.apache.spark"%%"spark-core"%"1.0.0"
resolvers += "AkkaRepository" at "http://repo.akka.io/releases/"
Run Code Online (Sandbox Code Playgroud)
当我运行clean和package,外部jar文件不会被包含在生成jar文件.为什么?
这是项目布局:
project/build.sbt
lib/
src/.....
Run Code Online (Sandbox Code Playgroud)
小智 37
试试这个
libraryDependencies += "com.acme.common" % "commonclass" % "1.0" from "file:///Users/bwong/git/perf-tools/commonclass/target/scala-2.11/commonclass_2.11-1.0.jar"
Run Code Online (Sandbox Code Playgroud)
我"sbt打包"常见的classproject,然后在依赖项目中的build.sbt中添加该库依赖项.
感谢http://flummox-engineering.blogspot.com/2014/06/sbt-use-jar-file-for-librarydependencies.html这个hack.
yǝs*_*ǝla 35
首先,unmanagedJars除非您有更复杂的配置,否则无需明确指定.只需将您的JAR文件放入lib目录,它们就会被添加到类路径(docs)中.
要使用所有必需的依赖项打包可执行JAR,请使用以下SBT插件之一:sbt-onejar或sbt-assembly.package只需将您的类打包到一个jar中,并且不会因为包含依赖项而烦恼.
插件文档中的说明应该很容易指导您如何使用它们.
png*_*png 17
诀窍是确定lib将JAR放入哪个目录.您可以通过在sbt控制台中运行以下命令来完成此操作:show unmanagedBase.
如果您没有在那里看到您的项目,您可以运行show YOURPROJECT/unmanagedBase以找到正确的lib路径.
| 归档时间: |
|
| 查看次数: |
46902 次 |
| 最近记录: |