2016-03-04 3 views
0

Моя проблема заключается в том, что плагин maven-shade, похоже, работает на моем проекте дважды.Плагин для затенения Maven работает дважды

Моего файл родитель-П здесь: http://pastebin.com/EsYaCbzJ (Это слишком долго, чтобы разместить здесь)

П для проекта (ну, модуль в данном случае) дает мне неприятность здесь: http://pastebin.com/jdyGXGpL

Я пытаюсь затенять драйвер MySQL jdbc.

Вот блок из pom.xml, с которым я хочу это сделать.

<build> 
.... 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-shade-plugin</artifactId> 
    <version>2.4.3</version> 
    <executions> 
     <execution> 
     <phase>package</phase> 
     <goals> 
      <goal>shade</goal> 
     </goals> 
     <configuration> 
      <shadedArtifactAttached>true</shadedArtifactAttached> 
      <createDependencyReducedPom>false</createDependencyReducedPom> 
      <relocations> 
      <relocation> 
       <pattern>mysql</pattern> 
       <shadedPattern>mysql.shaded</shadedPattern> 
      </relocation> 
      </relocations> 
      <artifactSet> 
      <excludes> 
       <exclude>com.fakeneth.mydynamicsql:mydynamicsql-core</exclude> 
       <exclude>junit:junit</exclude> 
      </excludes> 
      </artifactSet> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 
... 
</build> 

Теперь проблема возникает (или, кажется, происходит), когда я пытаюсь построить проект. Я строю его, используя ничего, кроме того, что видно в обоих pom.xml.

По какой-то причине следующие строки отображаются дважды, немного после друг друга;

[INFO] --- Maven-тень-плагин: 2.4.3: тени (по умолчанию) @ mydynamicsql-автономный ---

[INFO] Исключая com.fakeneth.mydynamicsql: mydynamicsql-жильный : jar: 0.0.1-SNAPSHOT из заштрихованной банки.

[INFO] Включая mysql: mysql-connector-java: jar: 5.1.38 в затененной банке.

[INFO] Прикрепление затененного артефакта.

Следующая строка также отображается дважды, последовательно;

[INFO] Installing C:\Users\cneth_000\Documents\EclipseWorkspace\mydynamicsql-parent\mydynamicsql-standalone\target\mydynamicsql-standalone-0.0.1-SNAPSHOT-shaded.jar to C:\Users\cneth_000\.m2\repository\com\fakeneth\mydynamicsql\mydynamicsql-standalone\0.0.1-SNAPSHOT\mydynamicsql-standalone-0.0.1-SNAPSHOT-shaded.jar 

Вот полный журнал о том, что печатается, если этот проект будет построен: http://pastebin.com/L3RQaUvv

Является ли это ожидаемое поведение? Спасибо

+1

Плагин maven-jar работает дважды, и он выглядит неправильно настроенным, потому что он создает артефакт без версии, и я предполагаю, что там что-то еще настроено. – khmarbaise

+0

@khmarbaise Я не знаю, если это проблема. Как я мог неправильно настроить его, когда все, что я добавил, было « jar'? –

+0

Может быть, на основе родительского пом? – khmarbaise

ответ

0

Я решил свою проблему.

Когда я строил свой проект, я строил свой родительский проект. Оказывается, что, строя каждый модуль индивидуально, не будет вызывать выполнение всех моих плагинов дважды. По какой-то причине построение родительского проекта заставило каждый модуль быть построенным дважды.

+1

Я могу сказать вам, почему из-за этого в вашем родительском pom: ' clean package install'. Это не имеет смысла либо использовать 'clean package', либо' mvn install', но не 'mvn package install', потому что все фазы жизненного цикла, которые запускаются' nstall', запускаются уже с пакетом (кроме этапа установки ...BTW: Не определяйте такие вещи, как ' src/main/java' потому что это значение по умолчанию ... далее ' src/test/java' это также значение по умолчанию поэтому не определяйте его ... – khmarbaise

 Смежные вопросы

  • Нет связанных вопросов^_^