Я изучаю разработку проекта в IntelliJ.Проект SBT с модулем Java в IntelliJ
Я начал новый проект SBT. Теперь у меня есть два файла: один - скрипт Scala projectName/src/main/scala/scalaScript.scala
, а второй класс Java projectName/src/main/java/moduleName/MyClass.java
Сканер Scala используется для проверки строк строк в консоли Scala. В противном случае для проверки класса I, определенного в MyClass.java
, я думаю, что мне нужно сначала скомпилировать его, а затем import moduleName.MyClass
в сценарии Scala. После этого я могу использовать класс java для создания объектов и делать все, что захочу.
Если я не использую IntelliJ, мне просто нужно перейти в каталог модуля java и вызвать javac -cf myJavaLibrary.jar MyClass.java
, чтобы создать банку. Затем переместите myJavaLibrary.jar
в тот же каталог, что и мой файл сценария Scala.
Как эффективно сделать это в IntelliJ? Каков рабочий трубопровод?
Update 1
Я перешел на использование Scala листа. Однако после import moduleName.MyClass
возникает ошибка, указывающая, что модуль не найден.
import bestbuy.Laptop
где bestbuy
это имя модуля, а Laptop
класс. Затем сообщение говорит:
Error:not found: value bestbuy
import bestbuy.Laptop
^
Error:(6, 10) not found: value bestbuy
;import bestbuy.Laptop
^
Error:(18, 50) not found: value bestbuy
println(MacroPrinter211.printImportInfo({import bestbuy.Laptop;}))
^
Error:(26, 50) not found: value bestbuy
println(MacroPrinter211.printImportInfo({import bestbuy.Laptop;}))
^
Update 2
На листе, вы должны проверить коробочку перед «Сделать проект», так что весь исходный код будет компилироваться и байт-код будет сохранен в целевом каталоге, где ожидает SBT. Затем я могу успешно выполнить import bestbuy.Laptop
на листе.
Однако, я все еще ожидаю ответа на свой первоначальный вопрос. Если я могу import bestbuy.Laptop
в файле сценария Scala вместо рабочего листа. На листе все коды выполняются сразу, в то время как я хотел бы выполнить их по одной строке за раз.
После компиляции проекта, я попытался выполнение import bestbuy.Laptop
в Scala консоли, но получил сообщение об ошибке:
scala> import bestbuy.Laptop
<console>:13: error: not found: value bestbuy
import bestbuy.Laptop
^
кажется, что путь к классам консоли не настроен должным образом. Как настроить путь к консоли консоли?
Я пробовал рабочий лист. Он говорит, что модуль не найден. Я предполагаю, что это связано с тем, что java-файл не скомпилирован и не добавлен в путь класса. Я что-то делаю неправильно? Кстати, если я хочу придерживаться своего сценария Scala, мне нужно вручную скомпилировать свой Java-код и добавить банку в зависимость от библиотеки в диалоге структуры проекта? – panc
Убедитесь, что проект скомпилирован.На листе у вас мало значков игры и два флажка, один из которых - «Сделать проект», проверьте его и нажмите значок воспроизведения. Чтобы проверить, я создал новый проект sbt, в java создал пакет и базовый класс, тогда я создал рабочий лист в каталоге src (dir не должен иметь значения) и попытался создать новый экземпляр класса java. Я получил ту же ошибку, что и вы, но после того, как я проверил «Сделать проект», он работал так, как ожидалось. –
Спасибо. Это действительно работает. Тем не менее, я все еще хочу знать способ запуска кода по строкам в Scala Console. – panc