环境准备

IntelliJ IDE + maven + scala
创建java和scala混合开发的项目,IDE用intellij,项目管理工具使用maven
1.intellij安装scala插件
File -》 Settings -》 Plugins中搜索scala,安装插件
安装完成后的页面如下:
这里写图片描述

创建项目

新建一个maven项目
这里写图片描述
创建的空项目如下图所示:
这里写图片描述
和java同目录下添加一个scala目录,用来存放scala源代码,把该目录标记为源代码目录:
这里写图片描述
创建完成后,在各自目录下创建一个类,项目目录如图:
这里写图片描述
其中,scala下的HelloScala.scala代码为:

class HelloScala {
  def sayHello() = {
    println("hello scala")
  }
}

java下的Main代码为:

public class Main {
    public static void main(String[] args) {
        HelloScala hs = new HelloScala();
        hs.sayHello();
    }
}

修改pom.xml文件

    <dependencies>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.10.5</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <version>2.15.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

其中,scala-library在运行时需要,build插件在编译时需要。

运行

在IDE中我们可以直接执行查看效果
这里写图片描述
如果要在服务器机器上java -cp来运行,需要下载依赖的scala库jar包。
执行mvn dependency:copy-dependencies -DoutputDirectory=lib下载依赖包:scala-library-2.10.5.jar
执行mvn package打包:scala.test-1.0-SNAPSHOT.jar
上传到执行目录
执行:java -cp ./*: Main,即可看到打印出结果。

注意,scala-library-2.10.5.jar包必须包含,不然会出现以下问题:
Exception in thread “main” java.lang.NoClassDefFoundError: scala/Predef
这里写图片描述

总结

至此,基于maven管理的java和scala混合编程的项目已经完成,我们可以开始我们的java和scala混合编程之旅了。

更多推荐