Java Sound: dispositivos encontrados cuando se ejecutan en IntelliJ, pero no en SBT

Estoy tratando de usar Java Sound API en un proyecto administrado por Scala SBT.

Aquí hay una aplicación de juguete que toca una nota.

import javax.sound.midi._

object MyMain extends App {
  val infos = MidiSystem.getMidiDeviceInfo()
  println( "[DEBUG] midi devices found: " + infos.length )

  val myMsg = new ShortMessage;
  // Start playing the note Middle C (60),
  // moderately loud (velocity = 93).
  myMsg.setMessage(ShortMessage.NOTE_ON, 0, 60, 93);
  val timeStamp = -1;
  val rcvr : Receiver = MidiSystem.getReceiver();
  rcvr.send(myMsg, timeStamp);

  readChar()  // give time to play note
}

Cuando ejecutorun en SBT, me sale eljavax.sound.midi.MidiUnavailableException porqueinfos.length devuelve 0. Dicho esto, cuando ejecuto la aplicación en IntelliJ, se encuentran dos dispositivos y la nota se reproduce bien.

¿Qué necesita saber SBT para que funcione? ¿Hay algo que deba añadirse a la ruta de clase? Noté que IntelliJ adjunta un montón de tarros al comando de ejecución (sin embargo, la eliminación de los tarros que vienen de jdk / jre / lib / no tuvo efecto, mientras que los otros están relacionados con Scala o relacionados con IntelliJ).

Respuestas a la pregunta(1)

Su respuesta a la pregunta