2015-05-15 2 views
4

Я пытаюсь извлечь некоторые .exe-файлы из файла jar зависимости и поместить их под $ {project.build.directory}/classes /.maven-dependency-plugin: unpack Ошибка

Но когда я исполню:

МВН зависимость чистой компиляции: распаковать

я получаю:

Не удалось выполнить голевые org.apache.maven.plugins: Maven-зависимость-плагин : 2.10: unpack (default-cli) для простого проекта: требуется либо артефакт, либо артефактItems -> [Справка 1

Я проверял, доступны ли зависимости в моем локальном хранилище.

В моем примере pom ниже я использовал junit в качестве примера, но независимо от того, какую зависимость я перечисляю, я получаю ту же ошибку.

pom.xml:

<build> 
    <pluginManagement> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-dependency-plugin</artifactId> 
     <version>2.10</version> 
     <executions> 
      <execution> 
      <id>unpack</id> 
      <phase>package</phase> 
      <goals> 
       <goal>unpack</goal> 
      </goals> 
      <configuration> 
       <artifactItems> 
       <artifactItem> 
        <groupId>junit</groupId> 
        <artifactId>junit</artifactId> 
        <version>4.10</version> 
        <type>jar</type> 
        <overWrite>false</overWrite> 
    <outputDirectory>${project.build.directory}/classes/externaltools</outputDirectory>     
        <includes>**/*.txt</includes> 
       </artifactItem> 
       </artifactItems> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </pluginManagement> 
</build> 
+0

Я знаю, что он говорит .txt lin the pom, тогда как я говорил о файлах .exe в вопросе. – PistolPete

ответ

6

Проблема обусловлена ​​вы не можете использовать mvn clean compile dependency:unpack и <executions> теги вместе.

В документации Maven Depdendency Plugin в нижней части страницы вы можете прочитать:

Если вы намерены настроить этот харизмы для выполнения в командной строке с помощью: mvn dependency:unpack вы не должны ставить конфигурацию внутри тега казней , Ваша конфигурация должна выглядеть следующим образом:

<project> 
    [...] 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-dependency-plugin</artifactId> 
     <version>2.10</version> 
     <configuration> 
      <artifactItems> 
      <artifactItem> 
       <groupId>[ groupId ]</groupId> 
       <artifactId>[ artifactId ]</artifactId> 
       <version>[ version ]</version> 
       <type>[ packaging ]</type> 
       <classifier> [classifier - optional] </classifier> 
       <overWrite>[ true or false ]</overWrite> 
       <outputDirectory>[ output directory ]</outputDirectory> 
       <destFileName>[ filename ]</destFileName> 
       <includes>[ comma separated list of file filters ]</includes> 
       <excludes>[ comma separated list of file filters ]</excludes> 
      </artifactItem> 
      </artifactItems> 
      <!-- other configurations here --> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    [...] 
</project> 

Я попытался удалить <execution> теги и отлично работает!