Создайте несколько запущенных банок (с включенными исключениями) из одного проекта Maven

У меня есть один проект maven, который имеет несколько основных classов. Я хочу создать исполняемые Jars (которые include в себя alle-зависимости) из этого проекта. В настоящее время у меня есть следующая конфигурация сборки (с использованием maven.assembly):

   maven-assembly-plugin    classpath.to.my.mainClass    jar-with-dependencies      

Их способ достичь этого с помощью maven-assembly? Если нет, то какой самый простой способ достичь моей цели?

Ты можешь это сделать. Вам понадобится отдельное исполнение для каждого создаваемого вами артефакта (т. Е. Укажите каждый свой идентификатор, но вы можете оставить фазу по умолчанию), и вам нужно будет указать finalName и archive / manifest / mainClass для каждого ,

    maven-assembly-plugin   build-a    foobar.Aclass    jar-with-dependencies  foobar_a.jar    build-b    foobar.Bclass    jar-with-dependencies  foobar_b.jar       

Я не смог решить эту проблему с помощью maven-assembly-plugin удовлетворительным образом, поэтому я пошел на другое решение. Я использовал onejar-maven-plugin :

    org.dstovall onejar-maven-plugin 1.4.4   build-first  classpath.to.first.Main true onejar first-runnable.jar   one-jar    build-second  classpath.to.second.Main true onejar second-runnable.jar   one-jar         onejar-maven-plugin.googlecode.com http://onejar-maven-plugin.googlecode.com/svn/mavenrepo   

Верхний ответ работает, если вы не используете какую-либо конфигурацию (или какой-либо ресурс, если на то пошло), который входит в ваш файл jar (например, конфигурация для автоматической привязки Spring Framework).

К счастью, это решение также работает с maven-shade-plugin и у вас нет этой проблемы с onejar-maven-plugin .

Кроме того, maven-shade-plugin активно поддерживается в отличие от onejar-maven-plugin который находится в чистилище, которое является кодом google.

  org.apache.maven.plugins maven-shade-plugin 2.4.1   build-first package  shade     classpath.to.first.Main   first-runnable    build-second package  shade     classpath.to.second.Main   second-runnable     

Чтобы указать немного более предыдущий ответ, который мне очень помог, вам нужно добавить фазовый пакет и сборку целей и запустить mvn run clean package, pom выглядит следующим образом:

  maven-assembly-plugin   build-a    firstMainClass    jar-with-dependencies  a.jar  package  assembly    build-b    SecondMainClass    jar-with-dependencies  b.jar  package  assembly     
Давайте будем гением компьютера.