如何将 scala class 导入 IntelliJ IDEA
How to import scala class into IntelliJ IDEA
我知道这听起来可能不太聪明,但我是新手,我真的很想弄明白。我最近一直在 JAVA 编码,另一方面在 scala 中实现了一些功能。我看到这篇文章:
Interop Between Java and Scala
这表示可以混合使用 JAVA 和 scala。由于我在 IntelliJ IDEA 中编码,我想知道是否可以引入 scala 类 并在我的 JAVA 代码中使用它们?
我已经包含 scala-library.jar 使用:
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.3</version>
</dependency>
非常感谢对其他有用链接的任何帮助或指导。谢谢
- if there is anyway to bring in scala classes and use them within my Java code?
- is it possible to use scala classes inside Java or there is no way at all?
是的,是的。有两种情况:首先,您有一个现有的 Scala 库,然后您可以在现有的 Maven 构建中使用它,就像您在标准 Scala 库中展示的那样。其次(我假设这是您的实际问题?)您有一个包含 Java 和 Scala 源代码 的项目。在这种情况下,您需要编译两种类型的源文件。
在 IntelliJ 中,这需要您以某种方式将 Scala 外观添加到您的项目中。不幸的是,我不是 Maven 专家,所以我不能告诉你这是如何使用 Maven 构建的。
但是如果您使用 sbt 和 sbt-based IntelliJ project,那么 IntelliJ 将使用 sbt 构建服务器构建整个项目,该服务器能够编译您的 Java 和 Scala 源代码。
你会有这样的目录结构:
project
build.properties
build.sbt
src
main
scala
foo
Foo.scala
java
foo
Bar.java
例如 build.properties
:
sbt.version=0.13.11
如build.sbt
:
scalaVersion := "2.11.8"
如Foo.scala
:
package foo
class Foo {
def test(): Unit = println("Hello from Scala!")
}
作为Bar.java
:
package foo;
public class Bar {
public static void main(String[] args) {
final Foo f = new Foo();
f.test();
}
}
完成用户0__post,如果你使用的是Maven构建,基于以下link:
Snippet: Mixing Scala, Java in a Maven Project
您需要在 pom.xml 文件中进行一些更改。在依赖项下添加:
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.3</version>
</dependency>
此外,您需要在插件下添加以下内容:
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.9.1</version>
</plugin>
最后,在存储库下:
<repository>
<id>scala-tools.org</id>
<name>Scala-tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</repository>
现在,如果您只是添加一个包含 scala class 的新 .scala 文件,IntelliJ IDEA 将检测到它是 scala 并为其添加其他必要的插件和 JDK。如果这两个文件(.java 和 .scala)在同一项目中,您可以轻松地相互访问它们。可以在此处找到更多详细信息:
我知道这听起来可能不太聪明,但我是新手,我真的很想弄明白。我最近一直在 JAVA 编码,另一方面在 scala 中实现了一些功能。我看到这篇文章:
Interop Between Java and Scala
这表示可以混合使用 JAVA 和 scala。由于我在 IntelliJ IDEA 中编码,我想知道是否可以引入 scala 类 并在我的 JAVA 代码中使用它们?
我已经包含 scala-library.jar 使用:
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.3</version>
</dependency>
非常感谢对其他有用链接的任何帮助或指导。谢谢
- if there is anyway to bring in scala classes and use them within my Java code?
- is it possible to use scala classes inside Java or there is no way at all?
是的,是的。有两种情况:首先,您有一个现有的 Scala 库,然后您可以在现有的 Maven 构建中使用它,就像您在标准 Scala 库中展示的那样。其次(我假设这是您的实际问题?)您有一个包含 Java 和 Scala 源代码 的项目。在这种情况下,您需要编译两种类型的源文件。
在 IntelliJ 中,这需要您以某种方式将 Scala 外观添加到您的项目中。不幸的是,我不是 Maven 专家,所以我不能告诉你这是如何使用 Maven 构建的。
但是如果您使用 sbt 和 sbt-based IntelliJ project,那么 IntelliJ 将使用 sbt 构建服务器构建整个项目,该服务器能够编译您的 Java 和 Scala 源代码。
你会有这样的目录结构:
project
build.properties
build.sbt
src
main
scala
foo
Foo.scala
java
foo
Bar.java
例如 build.properties
:
sbt.version=0.13.11
如build.sbt
:
scalaVersion := "2.11.8"
如Foo.scala
:
package foo
class Foo {
def test(): Unit = println("Hello from Scala!")
}
作为Bar.java
:
package foo;
public class Bar {
public static void main(String[] args) {
final Foo f = new Foo();
f.test();
}
}
完成用户0__post,如果你使用的是Maven构建,基于以下link:
Snippet: Mixing Scala, Java in a Maven Project
您需要在 pom.xml 文件中进行一些更改。在依赖项下添加:
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.3</version>
</dependency>
此外,您需要在插件下添加以下内容:
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.9.1</version>
</plugin>
最后,在存储库下:
<repository>
<id>scala-tools.org</id>
<name>Scala-tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</repository>
现在,如果您只是添加一个包含 scala class 的新 .scala 文件,IntelliJ IDEA 将检测到它是 scala 并为其添加其他必要的插件和 JDK。如果这两个文件(.java 和 .scala)在同一项目中,您可以轻松地相互访问它们。可以在此处找到更多详细信息: