Ответ 1
Существует несколько способов использования вашего проекта в другом проекте. Я не буду публиковать публикацию в удаленном репозитории, поскольку это, вероятно, то, что вы не хотите делать в любом случае (по крайней мере, на данный момент).
Предположим, что у вас есть проект под названием projectA - build.sbt
:
name := "project-a"
organization := "com.acme"
version := "0.1.0"
И у вас есть еще один проект под названием projectB, где вы хотите использовать классы, определенные в projectA.
Неуправляемая зависимость
Один из самых простых способов - использовать его как неуправляемую зависимость. Вы можете сделать это, поместив jar
файл, созданный package
, assembly
или любую другую команду, производящую артефакт.
Локальный репозиторий
Другой способ использования вашей зависимости - опубликовать его в локальном репозитории. Учитывая проект A, как определено выше, в build.sbt
проекта B, добавьте зависимость
libraryDependencies += "com.acme" %% "project-a" % "0.1.0"
Теперь вы можете опубликовать projectA в своем локальном репозитории, выполнив publishLocal
в проектеA. Преимущество этого подхода заключается в том, что если ваш проектA объявляет какие-либо зависимости, они будут добавляться как переходные зависимости к projectB.
Зависимость проекта
Последний способ, который приходит мне на ум, - объявить зависимость напрямую от projectA. Вы можете сделать это, создав файл build.sbt
в проектеB, который выглядит примерно так:
lazy val projectA = file("/home/lpiepiora/q-23607291/projectA")
lazy val projectB = project in file(".") dependsOn projectA
Теперь классы, объявленные в projectA, должны быть видны в projectB.