Recentemente ho lavorato su alcuni miglioramenti nel progetto sviluppato qualche tempo fa ed è quello che ho trovato. Molte dipendenze nei file pom vanno senza versioni specificate e tuttavia sono risolte. Il progetto consiste di 1 modulo radice e 2 sottomoduli. Viene utilizzato lo schema Aggregatore, il che significa che non esiste alcuna sezione di gestione delle dipendenze. Il progetto superiore semplicemente aggrega 2 moduli e questo è tutto ciò che fa. I sottoprogetti non si riferiscono a un genitore. Hanno un genitore diverso. Quello che non riesco a capire è che né i sottoprogetti né i loro genitori (di fatto, non ha dependencyManagement) specificano versioni per alcune delle dipendenze. Ad esempio:dependance maven senza versione
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>imap</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
Qualcuno può aiutarmi a capirlo? Sembra che Maven gestisca il controllo delle versioni con alcune strategie predefinite.
potresti mostrare l'output di 'mvn -version' solo per essere sicuro? –
È impossibile che Maven funzioni senza definire le versioni delle risorse. Dovrebbero essere definiti da qualche parte nel tag 'dependencyManagement' nel sottomodulo o genitore. Si prega di controllare la tua gerarchia pom. Usa la guida di mvn: effective-pom – Ozgen
Hai controllato tramite 'mvn help: effective-pom -Doutput = result.xml' e controlla se non c'è dependencyManagement. – khmarbaise