Ich bin im Grunde auf der Suche nach einer Möglichkeit, die Maven Abhängigkeit provided
nachzuahmen. Ich baue ein jar (eine Erweiterung für einen db-Treiber), die von einem anderen jar (der db-Treiber) abhängt, aber ich möchte dieses jar nicht aufnehmen.Gradle Abhängigkeit nur für Kompilierzeit und Test
Ich kann compileOnly
verwenden, um das zu erreichen, aber jetzt werden die Tests nicht ausgeführt oder kompiliert, da das erforderliche jar nicht in Tests enthalten ist.
Ich probierte die Liste der verfügbaren Abhängigkeiten wie testCompile
, aber ich konnte keinen finden, der das Jar zur Kompilierzeit verfügbar macht und wenn die Tests laufen und kompilieren.
Wie würde ich dieses Glas richtig einbeziehen?
Edit: Wie gewünscht, die build.gradle Datei:
group 'com.mygroup'
version '1.0-SNAPSHOT'
apply plugin: 'java'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
compileOnly "org.mongodb:mongodb-driver:3.3.0"
testCompile "org.mongodb:mongodb-driver:3.3.0"
}
die Abhängigkeit zweimal Listing funktionierts, aber offensichtlich ist keine sehr schöne Lösung
hat listen Sie die Abhängigkeit sowohl als 'compileOnly' und' testCompile'? Bitte zeigen Sie auch Ihre 'build.gradle' Datei – JBirdVegas
Auflistung der Abhängigkeit zweimal funktioniert, scheint jedoch eine ziemlich hässliche Problemumgehung. Ich habe die 'build.gradle' Datei zur Frage hinzugefügt. –