0

我有一个相当简单的 Maven 程序集,我想将它部署到文件系统上的文件夹中。我绝对可以使用提取命令链接我的 Maven 构建,但是有没有办法通过将文件部署到何处的属性从 Maven 内部执行以下操作?

mvn install && tar -C /my/deployment/folder xvzf target/${project.artifactId}-${project.version}-default.tar.gz ${project.artifactId}-${project.version}-default/

有没有一种方法可以为 Maven 提供一些配置,以便我可以执行以下操作:

mvn install deploy -DdeploymentDir=/my/deployment/folder
4

1 回答 1

0

使用 dir<format>dir</format>获取解压后的目录

        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <descriptors>
                    <descriptor>path/to/assembly.xml</descriptor>
                </descriptors>
            </configuration>
        </plugin>

程序集.xml

    <?xml version="1.0" encoding="GBK"?>
    <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1">
        <id></id>
        <baseDirectory>${project.artifactId}-${project.version}-default/</baseDirectory>
        <formats>
            <format>dir</format>
        </formats>

        <fileSets>
            <fileSet>
                <directory>../../path/to/${project.artifactId}-${project.version}-default/</directory>
                <outputDirectory></outputDirectory>
                <includes>
                    <include>**/**</include>
                </includes>
            </fileSet>
        </fileSets>
    </assembly>

使用 antrun 复制到 dest 目录

    <plugin>   
       <artifactId>maven-antrun-plugin</artifactId>    
         <executions>     
        <execution>
        <phase> ... choose after assembly </phase>        
               <goals>            
                     <goal>run</goal>        
               </goals>             
               <configuration>       
                     <tasks>          
                         <copy todir="/tmp/xx" >        
                        <fileset dir="target/${project.build.finalName}"/>
                </copy>
                     </tasks>          
               </configuration>        
        </execution>    
         </executions>  
    </plugin>  
于 2013-01-19T08:56:07.363 回答