В моем приложении, созданном Maven, у меня есть две зависимости от платформы, которые являются взаимоисключающими. Во время сборки проекта я хотел бы создать два исполняемых jar-файла, где один jar-файл содержит одну зависимость, а второй jar-файл содержит другую зависимость.
Моей первой мыслью было создать два профиля сборки, каждый из которых содержит одну из зависимостей и плагин Maven Assembly или Shade для создания исполняемого jar-файла. К сожалению, это не работает, потому что будет построена только одна из банок. Я попытался включить оба в командной строке (-Pprofile1,profile2
), установив для обоих activeByDefault
значение true
, но все равно не повезло.
Прежде чем я попытаюсь обойти это, создав два подмодуля проекта для выполнения сборок, есть ли способ создать два исполняемых jar-файла с разными зависимостями в одном проекте Maven?
activeByDefault
немного странный. Возможно, вы используете один и тот же идентификатор для выполнения в обоих профилях? - person Andrei   schedule 18.05.2017èxecution
), то я думаю, что один переопределяет другой, потому что все они запускаются при выполненииdefault-jar
(я думаю, что это идентификатор выполнения по умолчанию ). Если это так, просто объявите два отдельных выполнения, по одному в каждом профиле, обязательно указав разные идентификаторы. - person Andrei   schedule 18.05.2017mvn clean deploy
и получите все, что вам нужно. Это возможно только при установке двух модулей. Если вы используете с профилями, этот простой вызов не будет работать. - person khmarbaise   schedule 19.05.2017pom.xml
, чтобы мы могли посмотреть. Одна из причин, по которой выполнение плагина в двух профилях не будет работать, заключается в том, что если<execution/>
в обоих профилях имеет один и тот же<id/>
, поскольку, по сути, второй плагин переопределит выполнение первого. - person carlspring   schedule 19.05.2017