Compiling Scala sources

Prerequis : common usages


Place scala sources files in :


Place scala test sources files in :


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
  • This feature is provide for integration with editor.
  • using once and fsc => reuse server if previously started else start a new one but never stop it (except if you call scala:cc without -Donce=true, or if you kill the process yourself)

Increasing memory


Emacs user

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
one error found

Compiler Arguments

It is common to wish to send arguments to the scalac compiler during compilation of your project. To do so, make use of the args configuration parameter like so: