У меня есть многопроектная настройка, подобная этой:
lazy val kalosrpc = project
.settings(
libraryDependencies ++= Seq(
"io.grpc" % "grpc-netty" % scalapb.compiler.Version.grpcJavaVersion
)
).dependsOn(kalosgen)
lazy val kalosgen = project
.settings(
// settings not important
)
Основной класс kalosgen
генерирует модель через slick-codegen
и помещает ее в:
kalosgen/target/scala-2.13/src_managed/main
в упаковке com.kalos.gen
. Он также компилирует protobufs в классы scala во время компиляции, но этот пакет находится в пути к классам, как и ожидалось.
Затем я могу импортировать эти файлы из kalosgen
в kalosrpc
, intelliJ не жалуется и имеет полный доступ к информации о типах, определенных в этих файлах. Итак, я запускаю kalosgen/compile
, и пакеты генерируются, как я и ожидал, однако, когда я продолжаю это с kalosrpc/compile
, я получаю:
object gen is not a member of package com.kalos
Я пробовал менять названия пакетов, но это ничего не исправляет. На основе информации, представленной здесь моя конфигурация проекта кажется правильной.
package somename
вверху? - person Mario Galic   schedule 02.07.2019kalosgen
для вывода его кода в каталогsrc_managed
изkalosmodel
(вместо собственного каталогаsrc_managed
), и он все еще не работает. - person Robbie Milejczak   schedule 02.07.2019