2014-09-24 2 views
1

У меня есть родительский проект и некоторые дочерние проекты. У некоторых детей есть зависимость между собой. например: родитель -> ребенок 1, родитель -> ребенок 2, ребенок 1 -> ребенок 2 (Child1 зависит от ребенка 2) Вот что я делаю в моих POMS:Maven Shade и Clover не будут работать на mvn-сайте

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-shade-plugin</artifactId> 
     <version>2.3</version> 
    </plugin> 
     <plugin> 
    <groupId>com.atlassian.maven.plugins</groupId> 
    <artifactId>maven-clover2-plugin</artifactId> 
    <version>3.1.10.1</version> 
    <configuration> 
     <jdk>${compile.source}</jdk> 
     <generateHtml>true</generateHtml> 
     <generatePdf>false</generatePdf> 
     <generateXml>true</generateXml> 
    </configuration> 
    <executions> 
     <execution> 
     <phase>pre-site</phase> 
     <goals> 
      <goal>instrument</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 
    <reportPlugins> 
       <plugin> 
      <groupId>com.atlassian.maven.plugins</groupId> 
      <artifactId>maven-clover2-plugin</artifactId> 
      <version>3.1.10.1</version> 
      <configuration> 
      <jdk>${compile.source}</jdk> 
      <generateHtml>true</generateHtml> 
      <generatePdf>false</generatePdf> 
      <generateXml>true</generateXml> 
      </configuration> 
     </plugin> 
    </reportPlugins> 

Ребенок П выглядит как это:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-shade-plugin</artifactId> 
    <executions> 
     <execution> 
     <phase>package</phase> 
     <goals> 
      <goal>shade</goal> 
     </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <createDependencyReducedPom>false</createDependencyReducedPom> 
     <filters> 
     <filter> 
      <artifact>*:*</artifact> 
      <excludes> 
      <exclude>META-INF/*.SF</exclude> 
      <exclude>META-INF/*.DSA</exclude> 
      <exclude>META-INF/*.RSA</exclude> 
      <exclude>META-INF/LICENSE</exclude> 
      <exclude>config.properties</exclude> 
      </excludes> 
     </filter> 
     </filters> 
     <transformers> 
     <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> 
     <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
      <mainClass>com.cerner.pophealth.program.runtime.pipeline.Main</mainClass> 
     </transformer> 
     </transformers> 
    </configuration> 
    </plugin> 

Я перед вопросом, где МВМ сайта-Deploy потерпит неудачу с ошибкой при слежении:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:1.7.1:shade (default) on project foo: Error creating shaded jar: error in opening zip file /foo/bar/target/classes -> [Help 1] 

МВНА сайт-развертывание запускаются из Foo-родительского уровня.

Я заметил, что даже когда сайт запускается, клевер пытается создать затененную банку в пределах цели/клевера/папки.

Любая помощь приветствуется.

ответ

0

Используется для включения/выключения заштрихованного плагина.

<profiles> 
<profile> 
    <id>shade</id> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-shade-plugin</artifactId> 
     <executions> 
      <execution> 
      <phase>package</phase> 
      <goals> 
       <goal>shade</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
</profile> 

0

The Maven-clover2-плагин имеет две цели, которые могут быть использованы для исходного кода приборов:

clover2: инструмент цели вилка параллельно строить жизненный цикл в Maven для того, к источникам приборов. Это означает, что исходные корни (например, SRC/главный/Java и SRC/тест/Java), а также выходные папки (например, целевых/классы) перенаправляются на мишени/клевер каталога. Такое переадресация папок действительно может в некоторых случаях вызывать проблемы для других плагинов Maven.

clover2: setup Цель выполняет кодирование кода в жизненном цикле жизни Maven по умолчанию. Это означает, что выходные папки остаются неизменными (и инструментальные классы помещаются в target/classes, например).

Предлагаю попробовать клевер2: настроить вместо цели clover2: инструмент один. Однако имейте в виду, что вызов «clover2: setup» вместе с «mvn install» или «mvn deploy» приведет к тому, что будут установлены версии с инструментами версий ваших JAR. Если это не является желательным действием,

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