In einem multi-Modul-Projekt, kann ein maven-Modul Zugriff transitive test-scoped Abhängigkeit von einem anderen Modul abhängig?
Ich habe ein multi-Modul-Maven - +Spring-Projekt. Einige Module sind von anderen abhängig-Module.
Sagen wir, wir haben ein Modul mit dem Namen services
das hängt davon ab, das Modul namens persistence
.
Dem services-Modul :
- Im Frühjahr Ebene, importiert die
persistence
Kontext - Bei Maven-Ebene, hängt von der
persistence
Modul
Den persistence
Modul definiert einige configuratrion im Zusammenhang mit der... persistence : datasource, JPA, transactions...
Es hat einige Abhängigkeiten für die Prüfung der DB (JDBC-Treiber, DBCP, H2), die begrenzt sind, um die test-Umfang, seit Wann die app bereitgestellt wird, wird die DataSource wird definiert in den container (Tomcat) und Zugriff über JNDI.
Nun, ich möchte Zugriff haben, während die Maven-test-phase des services
- Modul, um die test-scoped (transitive) Abhängigkeiten der persistence
Modul.
Den Maven-Handbuch (Tabelle 3.1) sagen, dass normalerweise, test-scope-Abhängigkeiten nicht verfügbar sind transitiv.
Ist es möglich, Sie zu bekommen irgendwie in den Kontext eines multi-Modul-Projekt ?
Wenn nicht, was sind gute alternativen ? (Definieren Sie die test-Abhängigkeiten in das übergeordnete pom ?... )
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich genau, wie es funktionieren sollte, d.h. durch die generieren Sie ein test-JAR -, das ist eine Art von Artefakt, in das Modul, das verwendet wird, als eine Abhängigkeit von den anderen, in unserem Beispiel ist die Persistenz-Modul :
Dann durch Erklärung jar-test als test-scoped Abhängigkeit von dem anderen Modul, in unserem Beispiel die
services
Modul :Hinweis: die zweite Abhängigkeit, die ist identisch mit der ersten, außer für die
type
zumtest-jar
und für diescope
, das set zu testen.Nun, Sie würde sich vorstellen, dass die tests geschrieben in der
service
Modul müsste man Zugriff auf die test-Klassen despersistence
Modul (dies funktioniert), sondern auch auf die test-scoped Abhängigkeit von der Persistenz-Modul.Allerdings ist es ein bekanntes Problem ( https://issues.apache.org/jira/browse/MNG-1378 ), dass es nicht so funktioniert. Es ist seit 2005, also ich sehe es nicht fest in einer nahen Zukunft... aber wer weiß.
Si ich nur duplizieren Sie die test-scoped Abhängigkeiten auf beide Module, oder legen Sie Sie in das übergeordnete pom...
<scope>test</scope>
ein, aber auch andere Leute, die Laufleistung kann variieren, natürlich. 🙂Ist sollte aber es funktioniert nicht. Es geschieht mit den bereitgestellten Umfang zu. Problem hier angemeldet: https://issues.apache.org/jira/browse/MNG-5255