【发布时间】:2015-10-01 15:50:42
【问题描述】:
我正在学习用 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 Console中执行import bestbuy.Laptop,但报错:
scala> import bestbuy.Laptop
<console>:13: error: not found: value bestbuy
import bestbuy.Laptop
^
控制台的类路径似乎没有正确配置。如何配置控制台的类路径?
【问题讨论】:
标签: java scala intellij-idea sbt