Skip to content

Frequently Asked Questions

davidB edited this page Nov 1, 2012 · 2 revisions

If you have questions/suggestions about maven+scala, then you can post to http://groups.google.com/group/maven-and-scala

Compilation Issue

Why recompile all ?

The maven-scala-plugin no longer (since 2.13) re-compile only the modified files, because :

  • recompiling only modified file could introduce lot of issue (modification of trait / implicit => recompile class who use it, a scala file could have several class, and some could be extracted,...)
  • lot of users always did a "clean compile" to be sure to "avoid" those issues.
  • users of cc have potential "wrong" result
  • allow to better integration with Eclipse (yascaladt plugin use it to mark error in every files)

You could re-enabled the compile only modified, by

  • using version 2.12 (or previous)
  • or for latter version (2.13+)
    • via configuration <recompileMode>modified-only</recompileMode>
    • via property -Drecompilation-mode=modified-only

(Sorry, the doc online is not the doc of the lastest release of the plugin 2.13.1)

You could also use some option of scalac 2.8.0+

<!-- Specify recompilation detection strategy (all,changed,immediate,transitive,transitivenocp) -->
<arg>-make:transitive</arg>

see message on mailing-list scala-user: Mvn recompiles everything

How-to execute test for scalac'splugin

Add into the configuration node of surefire :

<argLine>-Xbootclasspath/p:${settings.localRepository}/org/scala-lang/scala-library/${scala.version}/scala-library-${scala.version}.jar</argLine>

discussion

Read-Eval-Print-Loop (aka scala:console)

Why does the mvn scala:console goal not compile the project?

The authors of the plugin felt it was much more flexible to allow a REPL to be started during the coding of a project. The REPL is mostly used for experimenting with APIs and therefore users should not need a functioning project to test out potential code paths. Users who want to make use of their latest changes should type "mvn compile scala:console" or "mvn test-compile scala:console" rather than just "mvn scala:console"

Does the REPL support auto-complete?

As of Scala 2.8.0 the REPL supports auto-complete features.

Eclipse Integration

(see Using_Maven_with_the_Scala_IDE_for_Eclipse )

Clone this wiki locally