W moim projekcie jest klasa Java, która:

import javax.activation.DataHandler;

Mój POM ma tylko tę zależność:

<dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>1.5.0-b01</version>
</dependency>

Kompilacja (czysta instalacja mvn) działa, ponieważ:

mvn dependency:tree

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli)
[INFO] \- javax.mail:mail:jar:1.5.0-b01:compile
[INFO]    \- javax.activation:activation:jar:1.1:compile

Ale dlaczego tak

https://mvnrepository.com/artifact/javax.mail/mail/1.5.0-b01

I również

https://repo1.maven.org/maven2/javax/mail/mail/1.5.0-b01/mail-1.5.0-b01.pom

Powiedzieć, że nie ma żadnych zależności ???

Inne pytanie:

Dlaczego javax.mail: mail: jar: 1.5.0-b01 (od 2013) nie zależy od najnowszej wersji javax.activation :ivation: jar: 1.1.1 (od 2009)?

0
John Steel 19 grudzień 2019, 20:33

1 odpowiedź

Ponieważ w mvnrepository jest źle, wersja „javax.mail: mail: jar: 1.5.0-b01” ma zależność od „javax.activation :ivation: jar: 1.1”, jest w swoim nadrzędnym:

Nie polegaj zbytnio na mvnrepository, prawda jest zawsze w plikach pom. Przy okazji. javalibs pokazuje zależność:

Dlaczego najnowsza wersja javax.mail nie zawiera zależności od aktywacji-api jest prawdopodobnie spowodowana przejściem na artefakty jakarta ... stare zależności javax nie mogą zależeć od nowych zależności jakarta, ponieważ tak powiedział Oracle ... :-( Najnowszy javax.mail a artefakty aktywacji to:

1
jirka.pinkas 19 grudzień 2019, 21:18