我知道这听起来可能不明智,但我对此并不熟悉,我真的很想弄清楚。我最近一直在用JAVA编写代码,另一方面,我在scala中实现了一些功能。我偶然看到了这篇文章:
Java与Scala的互操作
这说明JAVA和scala混合使用是可能的。由于我是用IntelliJ IDEA编写代码的,所以我想知道是否存在引入scala类并在我的代码中使用它们的问题?
我已经使用以下方法包括了scala. have:
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.3</version>
</dependency>任何帮助或指向其他有用的链接是非常感谢的。谢谢。
发布于 2016-06-01 18:26:22
是的,是的。有两个场景:首先您有一个现有的Scala库,然后您可以在您现有的Maven构建中使用它,就像您在标准Scala库中展示的那样。第二(我想这是你的实际问题吧?)您有一个同时包含Java和Scala源代码的项目。在这种情况下,您需要编译两种类型的源文件。
在IntelliJ中,需要以某种方式将Scala添加到项目中。不幸的是,我不是Maven专家,所以我无法告诉您如何使用Maven构建。
但是,如果使用sbt和基于sbt的IntelliJ项目,那么IntelliJ将使用能够编译Java和Scala源代码的sbt服务器构建整个项目。
您将拥有这样的目录结构:
project
build.properties
build.sbt
src
main
scala
foo
Foo.scala
java
foo
Bar.java例如,作为build.properties
sbt.version=0.13.11As build.sbt
scalaVersion := "2.11.8"As Foo.scala
package foo
class Foo {
def test(): Unit = println("Hello from Scala!")
}以及as Bar.java
package foo;
public class Bar {
public static void main(String[] args) {
final Foo f = new Foo();
f.test();
}
}发布于 2016-06-01 20:27:27
若要完成用户0__ post,如果您使用的是Maven构建,则根据以下链接:
片段:在Maven项目中混合Scala和Java
您需要对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类的新.scala文件,IntelliJ IDEA将检测到它是scala,并将为它添加其他必要的插件和JDK。如果这两个文件(.java和.scala)在同一个项目中,您可以轻松地从对方访问它们。更多细节可以在这里找到:
https://stackoverflow.com/questions/37573194
复制相似问题