maven 是一个java构建工具,但是通过添加插件的方式,也可以用来构建scala项目。
项目结构
对于一个maven scala项目应该有以下结构:
pom.xml
src
main
scala
com/my-package/... *.scala
java
com/my-package/... *.java
test
scala
com/my-package/... *.scala
java
com/my-package/... *.java
resource
resourceFiles...
target
...
这个结构同普通maven项目类似,只是在main文件夹和test文件夹下增加了scala文件夹,用于存放scala文件。
pom.xml
有了以上项目结构后,确保你项目的pom文件和下面的内容类似
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sandbox</groupId>
<artifactId>testJavaAndScala</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Test for Java + Scala compilation</name>
<description>Test for Java + Scala compilation</description>
<dependencies>
<!-- scala库 -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.12.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- java编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- scala编译插件 -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.3.2</version>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>scala-test-compile</id>
<phase>process-test-resources</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
然后就可以使用maven的编译打包命令了。
#编译
mvn compile
#编译并测试
mvn test
#编译,测试和打包
mvn packge
参考
http://docs.scala-lang.org/tutorials/scala-with-maven.html
https://davidb.github.io/scala-maven-plugin/index.html