Предполагается, что тесты должны быть успешными для сборки.Вы можете пропустить тесты, но сборка автоматически пропускает тесты только потому, что она не может их запустить, кажется опасной - по крайней мере, это теория и объясняет, почему то, что вы пытаетесь сделать, не легко в maven.
Я никогда не делал этого, но вы могли бы решить проблему с помощью условной сборки и активировать жизненный цикл теста только при наличии зависимости:
<profiles>
<profile>
<activation>
<-- something relying on dependency presence/absence? -->
</activation>
<skipTests>true</skipTests>
</profile>
</profiles>
Я не мог найти легкуюспособ активации при наличии зависимости, так что вам, вероятно, придется использовать файловую активацию (ew ....) - для чего, в свою очередь, может потребоваться «поддельный» проект, чтобы попытаться сначала загрузить dep для вас (там можно сделать dep необязательным).
Это может даже усложниться, если skipTests в этом контексте не работает, и вам нужна сборка на основе профиля.
Если это становится достаточно уродливоя бы просто разделил проект на две части (jars / tests) - таким образом, витая логика не «загрязнит» основной проект - и неприятные вещи (antrun - ваш друг!) вТестовый проект не так плох, как этот проект, в конечном счете, не производит ничего, от чего зависят другие.