如何在 IntelliJ IDEA 中使用 Scala(或者:为什么为 Scala 找到一个可用的 IDE 如此困难)?

2024-04-13

我最近放弃了在 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
  • 接受默认(项目)而不是全局/模块
  • 接受将 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,但这次使用了 Scala 2.7.3 版本,而不是默认的 2.7.6,因为 2.7.3 是 IntelliJ 网站屏幕截图中显示的版本(我想屏幕截图证明他们确实测试了这个版本!)。现在一切正常了!!!


当我尝试在 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”)。

现在到了奇怪的部分:)。我右键单击该项目,选择“模块设置”,查看所有设置,但是我不改变任何事。单击“应用”和“确定”,尝试再次运行配置并it works :) .

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

UPDATE:

检查模块设置时,需要点击模块->Scala and Facets->Scala(展开并单击 Scala(ProjectName))。这两个设置都与 scala 编译器和 scala 库位置有关。我猜想这些值在创建项目时没有正确设置,但在用户触摸它们并保存设置后就会保存。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 IntelliJ IDEA 中使用 Scala(或者:为什么为 Scala 找到一个可用的 IDE 如此困难)? 的相关文章

  • 如何从spark管道逻辑模型中提取变量权重?

    我目前正在尝试学习 Spark Pipeline Spark 1 6 0 我将数据集 训练和测试 导入为 oas sql DataFrame 对象 执行以下代码后 生成的模型是oas ml tuning CrossValidatorMode
  • 覆盖 Predef 的隐式转换

    我有多个返回 java lang Integer 的方法 然后使用 Scala 的 Predef 隐式转换将其隐式转换为 Int 下面是它的编写方式there https github com scala scala blob v2 11
  • 用惯用的 Scala 更新大型数据结构

    我已经尝试 Scala 一段时间了 并且经常遇到支持不可变数据结构的建议 但是当你有一个像这样的数据结构时3D 场景图 大型神经网络或任何具有大量需要频繁更新的对象的东西 对场景中的对象进行动画处理 训练神经网络 这似乎是 运行时效率极低
  • 在 IntelliJ IDE 中找不到 Maven 插件

    我的项目中有一个新错误 位于 pom xml 文件中 我该如何修复它 IntelliJ IDEA中出现如下错误 Plugin org springframework boot spring boot maven plugin not fou
  • 如何以最佳方式传递元组参数?

    如何以最佳方式传递元组参数 Example def foo Int Int def bar a Int b Int 现在我想传递的输出foo to bar 这可以通过以下方式实现 val fooResult foo bar fooResul
  • IntelliJ 无法识别 JPA 静态元模型

    我使用 JHipster 生成应用程序 并使用 Gradle 作为构建工具 当我创建实体时 我添加了过滤支持 这会生成 JPA 静态元模型 但 IntelliJ 无法识别元模型 我已经在 IntelliJ 上启用了注释处理器设置 但它似乎不
  • 如何在Gradle中支持多种语言(Java和Scala)的多个项目?

    我正在尝试将过时的 Ant 构建转换为 Gradle 该项目包含约50个Java子项目和10个Scala子项目 Java 项目仅包含 Java Scala 项目仅包含 Scala 每个项目都是由 Java 和 Scala 构建的 这大大减慢
  • 通用 scala 函数,其输入是变量数量的函数

    我想定义一个函数f需要另一个函数g 我们需要g采取采取n双打 对于某些固定n 并返回一个 Double 函数调用f g 应该返回具体值n 例如 f Math max 2因为 Math sin 具有类型 Double Double gt Do
  • 减少/折叠幺半群列表,但减少器返回任一

    我发现自己遇到过几次这样的情况 我有一个减速器 组合 fn 如下所示 def combiner a String b String Either String String a b asRight String 它是一个虚拟实现 但 fn
  • Spark SQL 失败,因为“常量池已超过 JVM 限制 0xFFFF”

    我在 EMR 4 6 0 Spark 1 6 1 上运行此代码 val sqlContext SQLContext getOrCreate sc val inputRDD sqlContext read json input try inp
  • 从 HList 获取元素

    我尝试了 HList 并按预期进行了以下工作 val hl 1 foo HNil val i Int hl 0 val s String hl 1 但是 我无法让以下代码正常工作 让我们暂时假设对列表进行随机访问是一个聪明的主意 class
  • 规范化且不可变的数据模型

    Haskell如何解决 规范化不可变数据结构 问题 例如 让我们考虑一个表示前女友 男友的数据结构 data Man Man name String exes Woman data Woman Woman name String exes
  • Play框架:单属性案例类的JSON读取

    我正在尝试为包含单个属性的案例类创建隐式 JSON Reads 但收到错误 Reads Nothing 不符合预期类型 这是代码 import play api libs functional syntax import play api
  • Scala:什么是 CompactBuffer?

    我试图弄清楚 CompactBuffer 的含义 和迭代器一样吗 请解释其中的差异 根据 Spark 的文档 它是 ArrayBuffer 的替代方案 可以提供更好的性能 因为它分配的内存更少 以下是 CompactBuffer 类文档的摘
  • 理解 Scala FP 库

    只是为了让那些想要开始使用 Scala FP 库 在纯 FP 方面变得更好的人快速清晰地了解 有人能澄清猫和猫效应 猫效应 IO 之间的区别 关系吗 最重要的是 齐奥和莫尼克斯对此有何看法 最后 与 ScalaZ 7 8 有何关系 到目前为
  • git 预提交钩子格式代码 - Intellij/Android Studio

    本要点展示了如何在预提交时使用 Eclipse 格式化程序自动格式化 Java 代码 Source https gist github com ktoso 708972 https gist github com ktoso 708972
  • andThen 类型不匹配的 Scala 链接函数

    我有一堆函数可以清理文本并将它们分成单词 最小的例子 val txt Mary had a little nlamb val stopwords Seq a def clean text String String text replace
  • Java 8 Stream,获取头部和尾部

    Java 8 引入了Stream http download java net jdk8 docs api java util stream Stream html类似于 Scala 的类Stream http www scala lang
  • 使用 Intellij Idea 和 gradle 在应用程序引擎上调试 localhost

    我正在使用 IntelliJ 社区添加并使用 Gradle 构建应用程序引擎标准环境应用程序 在迁移到 IntelliJ 和端点框架之前 我使用的是 Android Studio 我无法调试我的本地主机 我添加了 jvmFlags 如下所述
  • scala 提供类似 C++ 模板的东西吗?

    我来自 C 并试图了解 scala 的类型系统 考虑以下 C 模板类 template

随机推荐

  • 如何避免来自mongodb的transparent_hugepage/defrag警告?

    我从 mongodb 收到以下关于 THP 的警告 2015 03 06T21 01 15 526 0800 I CONTROL initandlisten WARNING sys kernel mm transparent hugepag
  • Selenium C# 中的显式等待不起作用。怎么了?

    所以我遇到了显式等待的问题 我不想使用 Thread Sleep 这是一个简单的测试 它打开一个页面 然后后退和前进 加载此页面大约需要 2 3 秒 我想以动态方式执行此操作 测试 希望我不要太困惑 我做了很多研究 但没有任何作用 也许我做
  • Delphi从ios/Android本地存储打开PDF

    我尝试在移动设备上从本地存储打开 PDF 文件 我已将文件放入 iOS 的启动 文档 Android 的资产 内部 用这个代码 filename TPath Combine TPath GetDocumentsPath file pdf W
  • 记忆 SQL 查询

    假设我有一个运行 SQL 查询并返回数据帧的函数 import pandas io sql as psql import sqlalchemy query string select a from table def run my quer
  • Groovy 字符串连接

    当前代码 row column each column gt println column attributes name println column value Column is a Node具有单个属性和单个值 我正在解析 xml
  • iOS13:如何检测状态栏点击事件?

    在我的 appDelegate 中 我覆盖touchesBegan检测何时单击状态栏 void touchesBegan NSSet touches withEvent UIEvent event super touchesBegan to
  • 将 PUT/POST/DELETE 与 JSONP 和 jQuery 结合使用

    我正在致力于创建一个支持跨域请求 JSON JSONP 支持和主要 HTTP 方法 PUT GET POST DELETE 的 RESTful API 现在 虽然通过服务器端代码可以轻松访问此 API 但最好将其公开给 JavaScript
  • Spring云任务-worker pod在kubernetes中没有被删除

    我们正在使用基于 spring cloud deployer kubernetes 的 Spring Batch 远程分区 由于某种原因 Worker pod 在 Worker 执行后没有被删除 想知道通过 TaskLauncher 启动清
  • #Meteor 中带有 blaze 的数组中的每个字符串

    我有一个用户名数组 在列表中呈现 如下所示 each contacts div class name this div each 这工作得很好 但后来我尝试从事件中获取用户名 click name function e t console
  • 随机化表格单元格

    我知道它听起来有点有线 但是有什么方法可以随机化表格内容吗 正是细胞 这样做的目的 我有一个由多个 xml 生成的表 每个 xml 至少包含 5 个项目 在主表中 我只能按原样订购它们 但我需要随机化这些项目 例如 jsfiddle net
  • 为什么我无法在 Firefox 中提交动态创建的表单

    我复制了我正在开发的一个更大项目的一部分 我没有编写代码 所以我希望有人能帮助我找出为什么用这种方式从 js 代码发送 post 请求在 IE 中有效 而在其他中无效浏览器 function f var container document
  • 生成两个浮点数之间的随机浮点数

    我知道这是一个相当简单的问题 但我的数学不太好 我知道如何生成 0 到 1 之间的随机浮点数 float random float rand float RAND MAX 但是 如果我想要一个给定两个浮点数范围的函数 返回该范围内的伪随机浮
  • Volley 以 utf-8 格式发送请求

    我正在通过以下方式向网络发送请求volleyandroid 上的库包含一些ArabicURL中的字符 但是在php文件中我得到了问号而不是阿拉伯字母 我尝试了人们在网上所说的解决方案 但所有这些都尝试从网络读取数据as UTF 8 不以 U
  • 如何在 grails 3 中运行单个集成测试?

    Grails 3 至少 3 1 10 在仅运行特定测试时不稳定 如何让它运行单个集成测试 这是运行单个集成测试的示例命令 grails test app LoginFunctional integration 如果将 integration
  • 使用 MongoMapper 查询不同值

    我该如何查询distinct与 MongoMapper 一起使用吗 我的查询是 subscribedToThread Comment where subscribe thread gt 1 all 但这会返回许多具有相同属性的对象user
  • iOS下逐帧读取视频

    我正在寻找一种使用 iOS API 检索视频各个帧的方法 我尝试使用 AVAssetImageGenerator 但它似乎只提供最接近秒的帧 这对我的使用来说有点太粗糙了 根据我对文档的理解 AVAssetReader AVAssetRea
  • 寻找 JS/JQuery 完全模态覆盖 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要一个模态叠加层 它将阻止与页面其余部分的交互 并且用户无法关闭 但似乎找不到一个不需要覆盖现有功
  • 为什么我能够访问java中没有对象的方法[重复]

    这个问题在这里已经有答案了 这是我的代码 public class MyProjectPage extends AbstractPage public boolean addDefaultProjectBymyProjects String
  • 当 var 应该有一个值时,“TypeError:无法将 'NoneType' 对象隐式转换为 str”

    import sys from tkinter import def print print Encoded message with offset gui Tk gui title Caesar Cypher Encoder Button
  • 如何在 IntelliJ IDEA 中使用 Scala(或者:为什么为 Scala 找到一个可用的 IDE 如此困难)?

    我最近放弃了在 Eclipse 中使用 Scala 的尝试 像完成这样的基本功能不起作用 所以现在我正在尝试 IntelliJ 我还没有走多远 我已经能够编辑程序 在语法突出显示和完成内 耶 但我什至无法运行最简单的 Hello World