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