Frage

Ich bin sicher, ich bin etwas fehlt wirklich einfach ... ich die Systemeigenschaft java.awt.headless zu true für mein sbt Projekt einstellen möchten. Lesen Sie die Seite auf Eigenschaften Ich glaube, ich brauche system zu verwenden oder systemOptional. In meiner Projekt-Datei habe ich versucht, Dinge wie:

lazy val javaAwtHeadless = system[Boolean]("java.awt.headless")

es als Benutzer Eigenschaft festlegen (z lazy val javaAwtHeadless = property[Boolean]) und Einstellen der Begleitwert in build.properties machte die Eigenschaft sichtbar in der sbt Konsole aber nicht innerhalb sbt Scala Konsole (über System.getProperty("java.awt.headless")).

set java.awt.headless true von den sbt Konsole Werke, darunter sein Set in der Scala-Konsole, aber es bleibt nicht auf das nächste Mal, wenn ich Start sbt.

War es hilfreich?

Lösung

Eine einfache Methode wäre, die Batch-Datei oder Shell-Skript zu bearbeiten, dass Sie sbt ausführen verwenden und fügen Sie -Dprop=val

Andere Tipps

Wenn ich diese Option für alle sbt Aufgaben benötigen, würde ich setze es folgt wie in build.sbt

javaOptions += "-Djava.awt.headless=true" 

Wenn es nur für eine Aufgabe war, zum Beispiel: laufen, können Sie Umfang, dass:

javaOptions in Runtime += "-Djava.awt.headless=true" 

Wenn Sie auf Set SBT Eigenschaften, wie Plugin-Einstellungen versuchen, dann für mich folgende mit 0.13+ gearbeitet. Die folgende jedoch funktioniert, wenn man versucht, in Einstellungen Liquibase zu übergeben, wie Passwort, aus unserem CI-Frameworks.

In Ihrem build.sbt

Hässlich, aber liefert Standardwerte und greift wahlweise von System.properties . Auf diese Weise Sie haben Ihre Ausfall- und Überschreibung Fälle abgedeckt.

def sysPropOrDefault(propName:String,default:String):String = Option(System.getProperty(propName)).getOrElse(default)

liquibaseUsername := sysPropOrDefault("liquibase.username","change_me")
liquibasePassword := sysPropOrDefault("liquibase.password","chuck(\)orris")

von der Kommandozeile

Jetzt außer Kraft nur über -Dprop=value, wie Sie es mit Maven oder anderen JVM-Programmen. Hinweis Requisiten erscheinen vor SBT Aufgabe.

sbt -Dliquibase.password="shh" -Dliquibase.username="bob" liquibase:liquibase-update

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top