当前位置:  开发笔记 > 编程语言 > 正文

如何在IntelliJ IDEA中使用Scala(或者:为什么难以获得Scala的工作IDE)?

如何解决《如何在IntelliJIDEA中使用Scala(或者:为什么难以获得Scala的工作IDE)?》经验,为你挑选了3个好方法。

我最近放弃了尝试在Eclipse中使用Scala(像完成这样的基本内容不起作用).所以现在我正在尝试使用IntelliJ.我没有走得太远.

我已经能够编辑程序了(在语法高亮和完成之内......耶!).但我甚至无法运行最简单的"Hello World".这是原始错误:

Scala signature Predef has wrong version
Expected 5.0
found: 4.1 in .... scala-library.jar

但那是昨天的IDEA 9.0.1.见下文...

UPDATE

今天我卸载了IntelliJ 9.0.1,并安装了9.0.2 Early Availability,以及4/14稳定版的Scala插件.

然后我从头开始通过向导设置一个项目:

新项目从头开始

JDK是1.6.u20

接受默认(项目)而不是global/module

接受将Scala 2.8.0beta1下载到项目的lib文件夹中

创建了一个新类:

object hello {
  def main(args: Array[String]) {
    println("hello: " + args);
  }
}

对于我的努力,我现在有一个全新的错误:)

这里是:

Scalac内部错误:类java.lang.ClassNotFoundException [java.net.URLClassLoader $ 1.run(URLClassLoader.java:202),java.security.AccessController.doPrivileged(Native Method),java.net.URLClassLoader.findClass(URLClassLoader.java) :190),java.lang.ClassLoader.loadClass(ClassLoader.java:307),sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301),java.lang.ClassLoader.loadClass(ClassLoader.java:248) ,java.lang.Class.forName0(本机方法),java.lang.Class.forName(Class.java:169),org.jetbrains.plugins.scala.compiler.rt.ScalacRunner.main(ScalacRunner.java:72) ]

最终更新

我卸载了9.0.2 EA并重新安装了9.0.1,但这次使用的是2.7.3版本的Scala而不是默认的2.7.6,因为2.7.3是IntelliJ网站屏幕截图中显示的那个(我猜屏幕截图证明他们实际测试了这个版本!).现在一切正常!!!



1> Andrei Opris..:

我尝试在Intellij Idea 9.0.2中运行Scala项目时遇到了相同的scalac错误,并且我设法找到了一个偶然的解决方案:).这些是我在创建项目和运行项目时所采取的步骤.

我在Intellij Idea 9.0.2 final(今天发布)中创建了一个Scala项目.我已经安装了Scala插件,重新启动了IDE并创建了一个新的Scala项目(名称为"TestScala"),scala-2.8.0.Beta1作为项目​​库.创建项目并下载scala库后,我创建了一个包含以下内容的Test.scala文件:

object Test  {
 def main(args:Array[String]){
   println("hello")
 }
}

之后,我创建了一个启动配置("编辑配置"),选择了"应用程序"模板.我设置为主类Test并在"使用类路径和模块的JDK"组合框中选择项目名称("TestScala").当我运行配置时,我得到与您报告的相同的错误("Scalac内部错误:类java.lang.ClassNotFoundException").

现在来了怪异的部分:).我右键单击该项目,选择"模块设置",查看所有设置但我不做任何改动.单击"应用"和"确定",尝试再次运行配置,它工作 :).

我使用Intellij Idea 9.0.2最终版本(build 95-66); Ubuntu 9.10和JDK 1.6.0_18.我还必须提到我在Intellij中配置了JDK,否则有一个额外的步骤来配置它.

更新:

当检查模块的设置,需要点击模块- >斯卡拉Facets->斯卡拉(展开它,然后单击斯卡拉(项目名)) .这两个设置都与scala编译器和scala库位置有关.我猜这些值在创建项目时没有正确设置,但是一旦用户触摸它们并保存设置就会保存.



2> Graham Lea..:

为了回答你的问题,很难为Scala获得一个可用的IDE,原因有两个:(a)Scala刚刚开始接触到广泛的受众;(b)由于(a),没有商业案例可以花时间一个Scala IDE.

此外,如果你的年龄足以让你回想起来并且年轻到足以让人记住,那么你会知道,在Java的前五年或更长时间里,我们一直坚持使用像JBuilder这样的好工具,而不仅仅是编译你的工具.代码,当你这么说 - 没有错误突出显示,没有自动导入,并且甚至不存在重构一词.如果你想成为先锋,你需要准备好自己削减一些道路,或者至少是灌木丛.

我知道这对你没用,但我已经在Linux,Mac和Windows上成功地使用了IDEA for Scala.我通常在本地某处安装Scala SDK并指向IDEA,而不是使用"下载"选项.

目前,我主要在Mac OS X上使用EAP版本的IDEA 9和Scala 2.8.0.Beta1-RC5并且它运行良好(除了fsc似乎不适用于混合源).

您可以在IDEA Scala插件论坛上试试运气,虽然我没有对我自己的帖子做出很多回复.



3> Randall Schu..:

安装插件是先决条件之一.

接下来你应该做的是定义一个库(全局或项目特定的;我使用全局),它包含Scala库编译器JAR文件(至少,那是scala-compiler.jarscala-library.jar).添加源JAR和文档JAR或URL也是一个好主意.然后使该库成为项目中包含Scala代码的任何模块的依赖项.

最后,在这些模块中找到Scala方面,并在那里取消选中两个复选框.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有