Place scala sources files in :
src/main/scala
Place scala test sources files in :
src/test/scala
Then use the standard maven phases :
# compile only mvn compile # or compile and test mvn test # or compile, test and package mvn package
Or the plugin specifics goal :
# compile source mvn scala:compile # compile test mvn scala:testCompile
Or if you want to compile only source (from main and test) without calling previous phases like check resources, generate-sources,... :
# compile source and test with fsc mvn scala:cc -Donce=true # compile source and test with scalac mvn scala:cc -Donce=true -Dfsc=false
<project> ... <plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin</artifactId> <executions> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> </execution> </executions> <configuration> <jvmArgs> <jvmArg>-Xms64m</jvmArg> <jvmArg>-Xmx1024m</jvmArg> </jvmArgs> </configuration> </plugin> ... </project>
If you are an emacs user, you could try the to run the compilation with "-DemacsMode=true" then compilation error will be displayed without [WARNING] at the begin of the line like :
[INFO] Compiling 1 source files to /home/dwayne/work/oss/scala-tools/vscaladoc/target/classes [WARNING] Compilation failure /project/src/main/scala/org/example/Main.scala:12: error: expected class or object definition foo() ^ one error found