Могу ли я скомпилировать проект Scala со смешанным кодом Java и Scala с зависимостями в обоих направлениях в Maven?

У меня есть проект, в котором есть и scala, и java-код, которым я сейчас управляю в eclipse с помощью плагина IDE scala. В настоящее время структура каталогов организована таким образом, что в некоторых пакетах есть и код Java, и код Scala. Существуют классы Scala, которые зависят от классов Java, и существуют другие классы Java, которые зависят от классов Scala. Плагин обрабатывает все это прозрачно - я полагаю (но я не уверен на 100%), что компилятор scala компилирует код java и scala вместе, что позволяет обрабатывать взаимные зависимости. Я нашел некоторые ссылки на компиляцию смешанных проектов с использованием Maven например, здесь но те, что я видел, говорили о разделении java и scala на два отдельных исходных дерева. Maven пытается сначала скомпилировать код scala, что не удается из-за зависимостей от кода Java. Аналогично, если бы java-код был скомпилирован первым, он также потерпит неудачу, так как зависимости идут в обе стороны. Есть ли способ заставить Maven скомпилировать весь код вместе, как плагин eclipse? Я также хотел бы иметь возможность генерировать проект затмения, не выполняя при этом слишком много ручной корректировки, если это возможно.

7 голосов | спросил Shane 30 AM00000060000005831 2012, 06:28:58

1 ответ


0

Обычная структура каталогов Maven -

src/
  main/
    java/
      com/foo/mypackage/
    scala/
      com/foo/mypackage/

Если вы все настроите таким образом, то наверняка у вас будут перекрестные зависимости между вашим кодом Java и Scala. Смотрите maven-scala-plugin или scala-maven-plugin страницы по этой теме.

Я бы не рекомендовал размещать код Java и Scala в одном каталоге.

ответил sourcedelica 30 AM00000060000001331 2012, 06:50:13

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132