sbt:如何将本地文件系统 jar 添加到我的项目中?
我有一个编译为 jar 的库(不是 sbt 项目,只是 jar 文件),该库在存储库中不可用。
有没有一种简单的方法可以直接在文件系统/项目中添加对 jar 的引用?
I have a library compiled to a jar (not an sbt project, just the jar file) that's not available on a repository.
Is there a simple way to add a reference to the jar in the filesystem/project directly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您的 SBT 项目的结构应如下所示:
创建一个
lib/
目录以将 JAR 文件(例如spark-daria_2.11-0.2.0.jar
)添加到项目中:lib/
目录的位置应与sbt "show unmanagementBase"
命令的输出对齐。在 IDE 中刷新项目并导入代码,就像导入外部依赖项一样。
Your SBT project should be structured like this:
Create a
lib/
directory to add a JAR file (e.g.spark-daria_2.11-0.2.0.jar
) to the project:The location of the
lib/
directory should line-up with the output of thesbt "show unmanagedBase"
command.Refresh the project in your IDE and import the code just like you would import an external dependency.
如果您有多模块项目,您应该:
core
,则应该将 jar 添加到core/lib
中。libraryDependency +=
If you have multi-module project you should:
core
, you should add jar tocore/lib
.libraryDependencies += <your jar in lib>
您可以将 jar 放在项目的 lib 文件夹中(如果不存在则创建它),然后它将出现在项目的非托管类路径中。
要在本地发布 jar 文件,如果您有一个生成 jar 的 sbt 项目,则应该像调用“publish-local”一样简单,将 jar 发布到本地 ivy 存储库,以便您可以在另一个项目中使用该 jar您的项目(在同一台计算机上)。
You can put the jar in your project's lib folder (create it if it doesn't exist), it will then appear on your project's unmanaged-classpath.
To publish a jar file locally, if you have an sbt project that produces the jar, it should be as simple as invoking "publish-local" to publish the jar to your local ivy repository so that you can use that jar in another one of your projects (on the same computer).