【问题标题】:Transform a java project into a scala project (Intellij)将 java 项目转换为 scala 项目(Intellij)
【发布时间】:2015-10-30 11:15:57
【问题描述】:

我有一个用 Java 编写的 gradle 项目,想把整个东西变成一个 scala 项目(仍然是 gradle)。这样做需要哪些步骤?

既然 scala 应该完全支持 java 代码,这应该不难。我试过了,但我现在无法在我的代码中编写 scala 代码。

我开始在 scala 中定义 main 方法,似乎 Intellij 不知道我要做什么。

到目前为止我做了什么:

  • 应用插件:'scala' --> 在 build.gradle 中
  • 编译 'org.scala-lang:scala-library:2.10.6' --> 在 build.gradle 中
  • 我开始了一个新的 java gradle 项目并将所有的包/文件都移了过来。
  • 如果我让代码保持原样,则不会出现编译错误。

我需要定义另一个“项目sdk”吗?

【问题讨论】:

  • 也许尝试“项目 > 添加框架支持...> Scala”。但我认为这仅适用于使用 IntelliJ 而不是 Gradle 构建。
  • 我试过了,但是没有scala的选项。
  • 这很奇怪。你安装了 Scala 插件吗?对话框对我来说是这样的:i.imgur.com/PsYkEPX.png - 添加之后,我可以用额外的 Scala 源编译一个以前的纯 Java 项目。

标签: java scala intellij-idea gradle


【解决方案1】:

据我了解,您在新项目(rec-imported)中编译 scala 代码时遇到问题。

您的项目中是否有 scala-library 作为依赖项? 如果没有,您可以将全局库添加到项目结构中。

【讨论】:

  • 是的,我有它作为依赖项。
  • 提供更多信息:你有什么样的编译错误?您是否已将 scala 插件添加到 gradle? docs.gradle.org/current/userguide/scala_plugin.html
  • 现在我将文件名从“.java”更改为“.class”,看起来更好。我现在得到的例外是Error:scalac: 'jvm-1.8' is not a valid choice for '-target'
  • 我尝试了接受的解决方案,但它对我不起作用。不过,我不能“编译模块”,因为我在另一条评论上的意思是错误的。会不会是这个问题?
【解决方案2】:

首先,尝试是否从命令行(gradle compile)在 Gradle 中编译。根据你所说的,它应该;如果没有,请先解决此问题。

如果是,请在 IDEA 中添加 Scala 插件(如果尚未安装),您可能需要明确激活 Scala 支持,如 @0__ 的评论中所述。

【讨论】:

  • 忘记我的其他评论,我无法以某种方式编译模块本身。
猜你喜欢
  • 2017-12-07
  • 2011-11-30
  • 1970-01-01
  • 2014-06-18
  • 2012-09-21
  • 1970-01-01
  • 1970-01-01
  • 2015-04-11
  • 2012-09-28
相关资源
最近更新 更多