sbt: How can I add a local filesystem jar to my pr

2019-03-08 09:56发布

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?

2条回答
闹够了就滚
2楼-- · 2019-03-08 10:31

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).

查看更多
Luminary・发光体
3楼-- · 2019-03-08 10:32

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
查看更多
登录 后发表回答