Как я могу успешно запустить проект B без явного помещения записи maven для javax.mail jar?
Ну, это странно. c.s.m.s.SMTPTransport
предполагается предоставить mail-1.4.1.jar
, который является зависимостью commons-email
. Проект B должен получить это транзитивно.
Не могли бы вы выполнить следующее в проекте B и опубликовать вывод
mvn dependency:tree
Обновление: В ваших зависимостях определенно что-то странное, и я не могу воспроизвести проблему.
Я быстро создал первый проект со следующим pom:
<project>
...
<groupId>com.stackoverflow</groupId>
<artifactId>Q3875317-A</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</project>
И еще один в зависимости от первого артефакта:
<project>
...
<groupId>com.stackoverflow</groupId>
<artifactId>Q3875317-B</artifactId>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>Q3875317-A</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>
А вот дерево зависимостей, которое я получаю для второго проекта:
$ mvn dependency:tree
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'dependency'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Q3875317-B
[INFO] task-segment: [dependency:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree {execution: default-cli}]
[INFO] com.stackoverflow:Q3875317-B:jar:1.0-SNAPSHOT
[INFO] +- com.stackoverflow:Q3875317-A:jar:1.0-SNAPSHOT:compile
[INFO] | \- org.apache.commons:commons-email:jar:1.2:compile
[INFO] | +- javax.mail:mail:jar:1.4.1:compile
[INFO] | \- javax.activation:activation:jar:1.1:compile
[INFO] \- junit:junit:jar:3.8.1:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
...
Все там, как и ожидалось.
Если вы получили другой результат и если в ваших POM есть что-то заметное, пожалуйста, покажите их.
PS: я удалил одну из предложенных мною команд, поскольку она не позволяла видеть транзитивные зависимости.