我正在学习在IntelliJ中开发项目。
我开始了一个新的SBT项目。现在我有两个文件,一个是Scala脚本projectName/src/main/scala/scalaScript.scala
,另一个是Java类projectName/src/main/java/moduleName/MyClass.java
Scala脚本用于在Scala控制台中逐行测试代码。为了测试我在MyClass.java
中定义的类,我想我需要首先编译它,然后在Scala脚本中编译import moduleName.MyClass
。之后,我可以使用java类创建对象并做任何我想做的事。
如果我不使用IntelliJ,我只需要转到java模块目录并调用javac -cf myJavaLibrary.jar MyClass.java
来创建一个jar。然后将myJavaLibrary.jar
移动到与我的Scala脚本文件相同的目录中。
我如何在IntelliJ中有效地做到这一点?什么是工作流程?
更新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;}))
^
更新2
在工作表中,您应该检查“Make project”前面的小方框,以便编译所有源代码,并将字节代码保存在SBT期望的目标目录中。然后我可以在工作表中成功import bestbuy.Laptop
。
但是,我仍然希望能够回答原来的问题。如果我可以在Scala脚本文件中import bestbuy.Laptop
而不是工作表。在工作表中,所有代码一次执行,而我想一次执行一行。
编译项目后,我尝试在Scala控制台中执行import bestbuy.Laptop
,但收到错误:
scala> import bestbuy.Laptop
<console>:13: error: not found: value bestbuy
import bestbuy.Laptop
^
似乎控制台的类路径未正确配置。如何配置控制台的类路径?
答案 0 :(得分:0)
在IntelliJ中使用类似repl的环境只需创建新的scala工作表文件,然后在那里导入Java类并使用它。 IDE将为您编译所有内容。
您也可以使用终端,输入sbt console
,然后您将在classpath中对项目类进行repl,以便导入和使用它们。