Hallo zusammen,
ich blicke (wieder einmal) bei Gradle nicht durch. Ich möchte eine kleine Java-Library erstellen. Diese nutzt logback als Dependency. Diese Bibliothek möchte ich in ein lokales Verzeichnis exportieren, damit ich sie in einem anderen Java-Projekt wieder mittels Gradle einbinden kann. Das funktioniert im Prinzip auch, aber offenbar wird die Abhängigkeit zu logback nicht mit exportiert, denn mein Testprojekt, dass die Bibliothek verwenden soll, meldet den Fehler, dass slf4j nicht gefunden wird.
Ich dachte das so etwas über die Angaben unter "dependencies" gesteuert wird, hier also "implementation" und "testImplementation". Anscheinend reicht das aber nicht aus. Ich habe jetzt gelesen, das es noch die Angabe "api" gibt, aber das dient wohl dazu die Abhängigkeit dem Nutzer der Bibliothek ebenfalls zu veröffentlichen. Ich möchte sie (hier) aber nur innerhalb der Bibliothek nutzen.
Kann mir da mal jemand helfend unter die Arme greifen?
ich blicke (wieder einmal) bei Gradle nicht durch. Ich möchte eine kleine Java-Library erstellen. Diese nutzt logback als Dependency. Diese Bibliothek möchte ich in ein lokales Verzeichnis exportieren, damit ich sie in einem anderen Java-Projekt wieder mittels Gradle einbinden kann. Das funktioniert im Prinzip auch, aber offenbar wird die Abhängigkeit zu logback nicht mit exportiert, denn mein Testprojekt, dass die Bibliothek verwenden soll, meldet den Fehler, dass slf4j nicht gefunden wird.
Ich dachte das so etwas über die Angaben unter "dependencies" gesteuert wird, hier also "implementation" und "testImplementation". Anscheinend reicht das aber nicht aus. Ich habe jetzt gelesen, das es noch die Angabe "api" gibt, aber das dient wohl dazu die Abhängigkeit dem Nutzer der Bibliothek ebenfalls zu veröffentlichen. Ich möchte sie (hier) aber nur innerhalb der Bibliothek nutzen.
Kann mir da mal jemand helfend unter die Arme greifen?
Code:
plugins {
id 'java-library'
}
group 'de.xxx'
version '0.1'
repositories {
mavenCentral()
}
dependencies {
implementation "ch.qos.logback:logback-classic:1.2.3"
testImplementation "org.junit.platform:junit-platform-runner:1.6.2"
testImplementation "org.junit.jupiter:junit-jupiter-engine:5.6.2"
testImplementation "org.junit.vintage:junit-vintage-engine:5.6.2"
}
test {
useJUnitPlatform()
}
uploadArchives {
repositories {
flatDir {
dirs "/.../.gradle/artifacts/"
}
}
}