VS Code знает Scala и Java, но не может их соединить - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь взаимодействовать Scala с Java, и мне удалось создать проект Maven (репозиторий здесь ), который прекрасно компилируется из командной строки (mvn clean package).

Однако я продолжаю сталкиваться с проблемой, заключающейся в том, что моя IDE (код VS) вообще не понимает взаимодействие.

Проблемы

Файл AccessScala.java пытается получить доступ к переменной в WithinModule.scala.

package me.parent.jModule;

import me.parent.jModule.WithinModule;

public class AccessScala {
    public static void main(String[] args) {
        WithinModule within = new WithinModule();
        // -- this is like a static variable, but Scala doesn't allow that
        // System.out.println(WithinModule.string());
        // -- this is the auto-generated getter
        System.out.println(within.string());
        // -- this getter was manually added
        System.out.println(within.getString());
    }
}

VS Код создает три проблемы:

  1. Импорт me.parent.jModule.WithinModule не может быть решен: AccessScala[3,8]
  2. WithinModule не может быть решен в тип: AccessScala [7,9]
  3. WithinModule не может быть преобразован в тип: AccessScala [7,35]

Настройка проекта

Проект состоит из двух модулей, но сейчас релевантно только jModule. он содержит Java и Scala код в отдельных папках. sModule содержит некоторый код Scala, к которому я также хотел получить доступ, но моя текущая проблема не имеет ничего общего с модулями Maven и всем, что VS Code понимает Scala - Java подключений.

> parent
 | > jModule
 | | > src/main
 | | | > java/me/parent/jModule
 | | | | > AccessScala.java
 | | | > scala/me/parent/jModule
 | | | | > WithinModule.scala
 | | > build.sbt
 | | > project/build.properties
 | | > pom.xml
 | > sModule
 | | > src/scala/me/parent/sModule
 | | | >ExternalModule.scala
 | | > pom.xml
 | | > build.sbt
 | | > project/build.properties
 | > build.sbt
 | > project/build.properties
 | > pom.xml

VS Code

Я использую Java Extention Pack , Scala -Металлы и Scala Синтаксис

Оба для Java и Scala обнаруживает ошибки и т.д. c, поэтому он знает, что Scala есть.

Вопрос

Почему VS Code жалуется и что я могу сделать, чтобы это сработало? Есть ли способ вообще, или мне просто нужно использовать IntelliJ (у меня там другие проблемы, следите за обновлениями;)

...