EclipseKey.createSrc is of no use here, but the sbt settings will help. You already spotted javaSources, but that cannot be "nilled", as it is no sequence. If you look at the result of
> inspect java-source
[info] Setting: java.io.File = /Users/heiko/tmp/test/src/main/java
[info] Description:
[info] Default Java source directory.
[info] Provided by:
[info] {file:/Users/heiko/tmp/test/}default-f3fb6c/compile:java-source
[info] Dependencies:
[info] compile:source-directory
[info] Reverse dependencies:
[info] compile:unmanaged-source-directories
…
you will see that there is a reverse dependency on unmanagedSourceDirectories. Let's inspect this one:
> inspect unmanaged-source-directories
[info] Setting: scala.collection.Seq[java.io.File] = List(/Users/heiko/tmp/test/src/main/scala, /Users/heiko/tmp/test/src/main/java)
[info] Description:
[info] Unmanaged source directories, which contain manually created sources.
[info] Provided by:
[info] {file:/Users/heiko/tmp/test/}default-f3fb6c/compile:unmanaged-source-directories
[info] Dependencies:
[info] compile:scala-source
[info] compile:java-source
…
All right, this is a Seq[File] and it is initialized with the results from scalaSource and javaSource. All we have to do is get rid of the latter. Add the following settings to your ~/.sbt/build.sbt to get rid of Java source forever, or add it to your project settings, if you don't want to be that bad against good old Java:
// Get rid of java source directories in compile
unmanagedSourceDirectories in Compile <<= (scalaSource in Compile)(Seq(_))
// Get rid of java source directories in test
unmanagedSourceDirectories in Test <<= (scalaSource in Test)(Seq(_))
Cheers
Heiko