sbt:如何将本地文件系统 jar 添加到我的项目中?

发布于 2024-12-09 11:30:57 字数 98 浏览 1 评论 0原文

我有一个编译为 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

落花随流水 2024-12-16 11:30:58

您的 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 unmanagementBase" 命令的输出对齐。

在 IDE 中刷新项目并导入代码,就像导入外部依赖项一样。

import com.github.mrpowers.spark.daria.sql.DataFrameValidator

Your SBT project should be structured like this:

README.md
build.sbt
project/
src/
target/

Create a lib/ directory to add a JAR file (e.g. spark-daria_2.11-0.2.0.jar) to the project:

README.md
build.sbt
lib/
  spark-daria_2.11-0.2.0.jar
project/
src/
target/

The location of the lib/ directory should line-up with the output of the sbt "show unmanagedBase" command.

Refresh the project in your IDE and import the code just like you would import an external dependency.

import com.github.mrpowers.spark.daria.sql.DataFrameValidator
纵山崖 2024-12-16 11:30:58

如果您有多模块项目,您应该:

  1. 将 lib 添加到模块目录(而不是根目录)。例如,如果您有模块 core,则应该将 jar 添加到 core/lib 中。
  2. 删除 build.sbt (或其他地方)中指定 jar 的显式依赖关系。例如,删除 libraryDependency +=

If you have multi-module project you should:

  1. add lib to module dir (not to root). E.g., if you have module core, you should add jar to core/lib.
  2. remove explicit dependency for specified jar in your build.sbt (or in another place). E.g., remove libraryDependencies += <your jar in lib>
给不了的爱 2024-12-16 11:30:57

您可以将 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).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文