2015-09-17 2 views
0

У меня есть проект Maven JavaScript NodeJS. Ниже приводится структура проектаКак создать заархивированный артефакт проекта maven javascript

-- Project 
    -- dist 
    -- node_modules 
    -- src 
    -- target 
    Gruntfile.js 
    gulpfile.js 
    package.json 
    pom.xml 

Есть ли способ настроить П так, что он строит архивный файл в папке dist и сохраняет его в выходном целевом каталоге?

ответ

0

Это возможно, используя maven-assembly-plugin. Это очень общий плагин, который может использоваться для создания пользовательской сборки проекта.

Он сконфигурирован с помощью файла assembly.xml. В вашем случае, конфигурация будет:

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd"> 
    <id>dist</id> 
    <formats> 
    <format>zip</format> <!-- create a zip archive --> 
    </formats> 
    <fileSets> 
    <fileSet> 
     <directory>dist</directory> <!-- source is the "dist" folder --> 
     <outputDirectory>/</outputDirectory> <!-- target is the root of the archive --> 
    </fileSet> 
    </fileSets> 
</assembly> 

Типичное место для этого файла будет src/main/assembly/assembly.xml. Затем POM будет содержать:

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.5.5</version> 
      <configuration> 
       <descriptors> 
        <descriptor>src/main/assembly/assembly.xml</descriptor> 
       </descriptors> 
      </configuration> 
      <executions> 
       <execution> 
        <id>assembly-dist</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

После вызова mvn clean package папка target будет содержать почтовый файл, полученный с помощью этого плагина.

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