我有一个编译为jar的库(不是sbt项目,只是jar文件),它在存储库中不可用。
有没有一种简单的方法可以直接在文件系统/项目中添加对jar的引用?
答案 0 :(得分:53)
您可以将jar放在项目的lib文件夹中(如果它不存在则创建它),它将出现在项目的非托管类路径中。
要在本地发布jar文件,如果你有一个生成jar的sbt项目,它应该像调用“publish-local”一样简单,将jar发布到你的本地ivy存储库,以便你可以使用那个jar另一个项目(在同一台计算机上)。
答案 1 :(得分:13)
您的SBT项目的结构应如下:
README.md
build.sbt
project/
src/
target/
创建一个lib/
目录,将JAR文件(例如spark-daria_2.11-0.2.0.jar
)添加到项目中:
README.md
build.sbt
lib/
spark-daria_2.11-0.2.0.jar
project/
src/
target/
lib/
目录的位置应该与sbt "show unmanagedBase"
命令的输出对齐。
在IDE中刷新项目并导入代码,就像导入外部依赖项一样。
import com.github.mrpowers.spark.daria.sql.DataFrameValidator
答案 2 :(得分:0)
如果您有多模块项目,您应该:
core
,则应将 jar 添加到 core/lib
。libraryDependencies += <your jar in lib>