Wie konfiguriere ich das Ivy-Cache-Verzeichnis pro Benutzer oder systemweit?
Ich bin mit SBT als meine build-tool für den Aufbau eines Scala-Projekts.
Mein problem ist, ich kann nicht konfigurieren SBT herunterladen, Abhängigkeiten, um mein home-Verzeichnis des Benutzers. Also ich bin auf der Suche nach einer pro-Benutzer-oder noch besser eine systemweite Einstellung, zu sagen, SBT, um die Ivy-cache-Verzeichnis irgendwo sonst.
Mit maven gibt es die pro-Benutzer settings.xml kann verwendet werden, um konfigurieren Sie das lokale repository.
Habe ich gelesen, die Frage Gewusst wie: überschreiben Sie den Speicherort der Ivy-Cache? und es Antworten, aber es scheint, dass es nur beschreibt, wie zum konfigurieren der Einstellung auf einer basis pro Projekt.
Wenn es keine alternative gibt, würde ich gehen für eine pro-Projekt-setting, aber ich habe nicht bekommen, die Antwort der erwähnten Frage zu arbeiten. Etwas mehr details wäre sehr zu begrüßen, zum Beispiel, wo die ivysettings.xml. Ich habe es in den Projekt-root-Verzeichnis und es hat nicht funktioniert.
InformationsquelleAutor der Frage Ruediger Keller | 2010-06-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einfach fügen Sie eine Umgebungsvariable, um Ihre sbt-starten Sie die shell-Skript:
Sehen Bibliotheksleitung in der offiziellen Dokumentation.
InformationsquelleAutor der Antwort Joachim Hofer
Den
sbt.ivy.home
Eigenschaft ist nur die halbe Lösung. Es steuert, wo das sbt-launcher downloads sbt selbst (und die zugehörigen Abhängigkeiten wie die scala-compiler und Bibliothek, etc.) Wie bereits von Joachim Hofer, es hat keine Auswirkung auf, wo die Abhängigkeiten deklariert, von Ihrem Projekt zu bekommen heruntergeladen.Ändern dass Speicherort, Sie müssen die
ivy.home
Eigenschaft. Also, zu ergänzen, Joachim die erste Lösung, Sie würden beide system Eigenschaften:Mit diesen Eigenschaften, die launcher herunterladen werden die beiden Ihr Projekt und sbt, für die Abhängigkeiten zu den
/tmp/.ivy2/
- Verzeichnis. Natürlich können Sie setzen Sie Sie in separaten Verzeichnissen.InformationsquelleAutor der Antwort Mark Tye
Sollten Sie verwenden sbt-extraswenn Sie nicht bereits.
Dann ist es einfach ein flag übergeben Sie es:
InformationsquelleAutor der Antwort opyate
Lage des ivy-Dateien
Ich normalerweise setzen die ivy.xml und ivysettings.xml Dateien neben der durch die build-Datei wie folgt:
Sich die ivy-tasks beheben und abrufen finden sollten Sie beide Dateien.
Beispiel:
Seltsam, dass es nicht für Sie arbeiten.
Benutzerspezifische Einstellungen
Können Sie emulieren die maven-Einstellungen-Datei in ein paar Möglichkeiten
1) include-Direktive in das Projekt ivysettings.xml
2) Legen Sie die Position aus der build-Datei
3) ich habe nie ausprobiert, aber ich denke, Sie können den Standardwert überschreiben Lage mit einem ANT-Eigenschaft
InformationsquelleAutor der Antwort Mark O'Connor
Können Sie abrufen, Ihr home-Verzeichnis mit
Path.userHome.absolutePath
wie unten gezeigt:Ich nehme an, Sie können auch Umgebungsvariablen verwenden
System.getenv
und verketten Sie in der gleichen Weise, wie unten dargestellt:InformationsquelleAutor der Antwort Richard Gomes
Zur Bearbeitung der cache-Speicherort während der SBT-boot selbst, siehe Sbt-Launcher-Konfiguration in der offiziellen Dokumentation.
Im Grunde, um es zu system-weit, man müsste:
sbt.boot.properties
irgendwo, wo es ist zugänglich, system-wide (default aufgeführt ist unter dem link oben).sbt.boot.properties
gesetzt, um zu Ihrer Konfigurationsdatei.cache-directory
Eintrag (in der[ivy]
Abschnitt), um den Speicherort Ihres ivy cache.Diese Konfiguration scheint nicht zu tragen über normalen SBT-Nutzung, obwohl, leider.
InformationsquelleAutor der Antwort Joachim Hofer
Referenz: Mann sbt
InformationsquelleAutor der Antwort Milso