У меня есть проект Maven («пример-квадрат»), который предоставляет классы для вычисления квадрата и куба целого числа.У меня также есть проект фреймворка sbt / Play ("sbt_hello"), который использует классы square и cube из "example-square".Я хочу дополнить свой проект "example-square" несколькими новыми классами (например, добавив класс с квадратным корнем).
Чтобы все работало вместе, я включил свой проект Maven какзависимость от библиотеки в моем build.sbt
, но я также добавил ее как модуль в IntelliJ (используя File > Project Structure > Modules > sbt_hello > Dependencies > Add Module Dependency...
).Запуск моих тестовых классов, которые используют классы квадрата и куба, полностью успешен.Все изменения в коде немедленно отражаются в тестах.
Однако, когда я обновляю свой проект sbt или пытаюсь запустить проект Play, я получаю сообщение об ошибке, что существует неразрешенный путь зависимости.
Я полагаю, что добавление его как модуля в IntelliJ позволяет тестам успешно выполняться, а добавление его к зависимостям библиотеки - это то, что заставляет sbt искать jar-файлы (что я хочу?), Это просто выглядитв неправильных местах.Согласно журналу ошибок, sbt просматривает только следующие папки:
[warn] module not found: example#example-square;1.0-SNAPSHOT
[warn] ==== local: tried
[warn] C:\Users\just_me\.ivy2\local\example\example-square\1.0-SNAPSHOT\ivys\ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/example/example-square/1.0-SNAPSHOT/example-square-1.0-SNAPSHOT.pom
[warn] ==== local-preloaded-ivy: tried
[warn] C:\Users\just_me\.sbt\preloaded\example\example-square\1.0-SNAPSHOT\ivys\ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:/C:/Users/just_me/.sbt/preloaded/example/example-square/1.0-SNAPSHOT/example-square-1.0-SNAPSHOT.pom
Конечно, пакета там нет, так как это проект Maven, и я не запускал mvn install (даже если я это сделал,файлы jar были бы установлены в .m2
).
Я пытался добавить свой модуль через File > Project Structure > Modules > sbt_hello > Sources > Add Content Root
ранее, как это задокументировано здесь , но IntelliJ продолжает удалять этот модуль,когда я обновляю свой проект sbt.
В: Как правильно указать фактический проект Maven из моего проекта sbt / Play при использовании IntelliJ?
Кстати, яЯ новичок в sbt / Play и Scala в целом (хотя раньше я работал с Java).