首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将scala类导入IntelliJ思想

如何将scala类导入IntelliJ思想
EN

Stack Overflow用户
提问于 2016-06-01 15:41:14
回答 2查看 2.7K关注 0票数 1

我知道这听起来可能不明智,但我对此并不熟悉,我真的很想弄清楚。我最近一直在用JAVA编写代码,另一方面,我在scala中实现了一些功能。我偶然看到了这篇文章:

Java与Scala的互操作

这说明JAVA和scala混合使用是可能的。由于我是用IntelliJ IDEA编写代码的,所以我想知道是否存在引入scala类并在我的代码中使用它们的问题?

我已经使用以下方法包括了scala. have:

代码语言:javascript
复制
<dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>2.10.3</version>
</dependency>

任何帮助或指向其他有用的链接是非常感谢的。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-01 18:26:22

  • 如果无论如何都要引入scala类并在我的Java代码中使用它们呢?
  • 在Java内部是否可以使用scala类,或者根本没有办法?

是的,是的。有两个场景:首先您有一个现有的Scala库,然后您可以在您现有的Maven构建中使用它,就像您在标准Scala库中展示的那样。第二(我想这是你的实际问题吧?)您有一个同时包含Java和Scala源代码的项目。在这种情况下,您需要编译两种类型的源文件。

在IntelliJ中,需要以某种方式将Scala添加到项目中。不幸的是,我不是Maven专家,所以我无法告诉您如何使用Maven构建。

但是,如果使用sbt和基于sbt的IntelliJ项目,那么IntelliJ将使用能够编译Java和Scala源代码的sbt服务器构建整个项目。

您将拥有这样的目录结构:

代码语言:javascript
复制
project
  build.properties
build.sbt
src
  main
    scala
      foo
        Foo.scala
    java
      foo
        Bar.java

例如,作为build.properties

代码语言:javascript
复制
sbt.version=0.13.11

As build.sbt

代码语言:javascript
复制
scalaVersion := "2.11.8"

As Foo.scala

代码语言:javascript
复制
package foo

class Foo {
  def test(): Unit = println("Hello from Scala!")
}

以及as Bar.java

代码语言:javascript
复制
package foo;

public class Bar {
    public static void main(String[] args) {
        final Foo f = new Foo();
        f.test();
    }
}
票数 1
EN

Stack Overflow用户

发布于 2016-06-01 20:27:27

若要完成用户0__ post,如果您使用的是Maven构建,则根据以下链接:

片段:在Maven项目中混合Scala和Java

您需要对pom.xml文件进行一些更改。在依赖项下添加:

代码语言:javascript
复制
<dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>2.10.3</version>
</dependency>

此外,在插件下,您需要添加以下内容:

代码语言:javascript
复制
<plugin>
    <groupId>org.scala-tools</groupId>
    <artifactId>maven-scala-plugin</artifactId>
    <version>2.9.1</version>
</plugin>

最后,在存储库下:

代码语言:javascript
复制
<repository>
     <id>scala-tools.org</id>
     <name>Scala-tools Maven2 Repository</name>
     <url>http://scala-tools.org/repo-releases</url>
</repository>

现在,如果您只是添加一个包含scala类的新.scala文件,IntelliJ IDEA将检测到它是scala,并将为它添加其他必要的插件和JDK。如果这两个文件(.java和.scala)在同一个项目中,您可以轻松地从对方访问它们。更多细节可以在这里找到:

我们能在Java程序中编写Scala代码吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37573194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档