Warum muss ich sowohl ‚Laufzeit‘ angeben müssen und ‚Compile‘ für die gleiche Abhängigkeit?

StackOverflow https://stackoverflow.com/questions/4693490

Frage

Ich verlasse mich auf ein paar Artefakte, dass ich sowohl kompilieren und meine Anwendung ausgeführt werden.

Nach der Gradle docs, die Laufzeitkonfiguration erweitert die Kompilierung Konfiguration, so sicherlich eine Abhängigkeit mit runtime Zugabe impliziert eine implizite compile Abhängigkeit?

Mindestens das meine Vermutung war, aber es funktioniert nicht. Wenn nur auf dem Artefakt abhängig mit runtime, mein Projekt kompilieren nicht mehr. Ich habe buchstäblich an:

compile 'oauth.signpost:signpost-core:1.2.1.2'
runtime 'oauth.signpost:signpost-core:1.2.1.2'

für die Anwendung sowohl die Kompilierung und sieht die Wegweiser Klassen zur Laufzeit.

Bin ich etwas fehlt? Das sieht einfach nicht richtig ...

War es hilfreich?

Lösung

Fast richtig. Runtime-Konfiguration, in der Tat, erweitert Kompilierung Konfiguration ( docs ). Es bedeutet, dass jede Abhängigkeit zu hinzugefügt Compile Konfiguration ist in Laufzeit Konfiguration ( docs )

compile 'oauth.signpost:signpost-core:1.2.1.2' wird ausreichen, um diesen Artefakt in beiden zu bekommen, Laufzeit- und Kompilierung.

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