2015-07-02 1 views
0

Кто-нибудь знает, как я могу распаковать артефакт по срокам?В maven-dependency-plugin, как распаковать, только если я передам ему параметр?

Значение, указывающее его как логический параметр, который определит, следует ли распаковать этот определенный артефакт.

Я пытался использовать флаг skip, но это не сработало.

<build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <version>2.9</version> 
       <executions> 
        <execution> 
        <id>get-rpm</id> 
        <phase>compile</phase> 
        <goals> 
         <goal>copy</goal> 
        </goals> 
        <configuration> 
         <artifactItems> 
         <artifactItem> 
          <groupId>com.XX.XXX</groupId> 
          <artifactId>XXX-ONPREM</artifactId> 
          <version>${BUILD_NUMBER}</version> 
          <type>rpm</type> 
          <classifier>rpm</classifier> 
          <overWrite>true</overWrite> 
          <outputDirectory>${project.build.directory}</outputDirectory> 
          <destFileName>${PACKAGE_NAME}</destFileName> 
         </artifactItem> 
         </artifactItems> 
         <!-- other configurations here --> 
        </configuration> 
        </execution> 
        <execution> 
        <id>get-third-parties</id> 
        <phase>compile</phase> 
        <goals> 
         <goal>unpack</goal> 
        </goals> 
        <configuration> 
         <artifactItems> 
         <artifactItem> 
          <groupId>com.XX.XXX</groupId> 
          <artifactId>thirdparties-sources</artifactId> 
          <version>${third-parties.version}</version> 
          <type>zip</type> 
          <skip>true</skip> 
          <overWrite>true</overWrite> 
          <outputDirectory>${project.build.directory}/3rd-parties</outputDirectory> 
         </artifactItem> 
         </artifactItems> 
         <!-- other configurations here --> 
        </configuration> 
        </execution> 
+0

Просто интересно: зачем вы это хотите? Распаковка сторонних библиотек во время фазы компиляции не выглядит нормальной для меня. Бьюсь об заклад, то, что вы делаете, может быть сделано более правильным способом (например, использование плагина сборки). В любом случае, вы должны иметь возможность выполнить это выполнение в отдельном профиле и управлять активацией профиля переменной env. –

+0

Это не во время этапа компиляции, это делается после компиляции моего кода. –

+0

Он находится в фазе компиляции. Посмотрите ближе к вашей конфигурации. (Вот что я имею в виду, что то, что вы пытаетесь сделать, может быть сделано надлежащим образом) –

ответ

0

Так я понял это, Вы просто должны поставить пропустить флаг в нужном месте, я положил его сразу после настройки.

<build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <version>2.9</version> 
       <executions> 
        <execution> 
        <id>get-rpm</id> 
        <phase>compile</phase> 
        <goals> 
         <goal>copy</goal> 
        </goals> 
        <configuration> 
         <artifactItems> 
         <artifactItem> 
          <groupId>com.XX.XXX</groupId> 
          <artifactId>AGM-ONPREM</artifactId> 
          <version>${BUILD_NUMBER}</version> 
          <type>rpm</type> 
          <classifier>rpm</classifier> 
          <overWrite>true</overWrite> 
          <outputDirectory>${project.build.directory}</outputDirectory> 
          <destFileName>${PACKAGE_NAME}</destFileName> 
         </artifactItem> 
         </artifactItems> 
         <!-- other configurations here --> 
        </configuration> 
        </execution> 
        <execution> 
        <id>get-third-parties</id> 
        <phase>compile</phase> 
        <goals> 
         <goal>unpack</goal> 
        </goals> 
        <configuration> 
         <skip>${SKIP_3rd}</skip> 
         <artifactItems> 
         <artifactItem> 
          <groupId>com.XX.XXX</groupId> 
          <artifactId>thirdparties-sources</artifactId> 
          <version>${third-parties.version}</version> 
          <type>zip</type> 
          <overWrite>true</overWrite> 
          <outputDirectory>${project.build.directory}/3rd-parties</outputDirectory> 
         </artifactItem> 
         </artifactItems> 
         <!-- other configurations here --> 
        </configuration> 
        </execution>