Maven 复制jar到指定目录

 

  在完成模块开发后,需要发布jar到nexus上,与此同时,则要部署开发的模块,需要将编译打包的jar复制到指定的路径,再进行部署,而不是手动的去复制那些jar,因为当模块多的话,则会感到特别的烦,所以,利用maven集成的ant来进行这些操作。pom.xml文件配置如下:

复制代码

  
    UTF-8
    F:\生产发布包\发布包
    2.1.4-1.0-RELEASE
  

  
    
      junit
      junit
      3.8.1
      test
    
  
   
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.3
                
                    1.7
                    1.7
                
            
               
                maven-source-plugin  
                2.1  
                  
                    true  
                  
                  
                      
                        package  
                          
                            jar  
                          
                      
                  
            
               
             maven-antrun-plugin    
                    
                         
                   package        
                               
                         run        
                                
                          
                     
                                 
                         
                            
                                
                            
                              
                             
                           
                    
               
               
        
    
    
        
            snapshots
            meis
            http://191.168.2.1:8081/repository/maven-snapshots/
            true
        
        
            releases
            meis
            http://191.168.2.1:8081/repository/maven-releases/
        
        

复制代码

其中,plugin的artifactId为maven-antrun-plugin的就是Ant插件,tasks的内容可参考Ant的帮助文档,查阅 Ant Tasks;plugin的artifactId为maven-source-plugin的则表示在打包的时候同时打包源码,编译后的jar和源码jar都会被上传至nexus上面;关于nexus的登录名和密码,需要在maven的setting.xml中配置:

复制代码

    
        releases
        admin
        admin123
    
    
        snapshots
        admin
        admin123
    

复制代码

需要注意id保持一致;

关于上面copy任务的解说:

1.mkdir为创建对应的文件夹,如已存在则忽略;

2.copy的todir为复制文件的目的地,overwrite为强制覆盖,默认为false;

3.fileset为文件集,dir为目录,${project.build.directory}指的是当前构建路劲,指的是 项目/target 目录,erroronmissingdir为false指的是当目录不存在时忽略掉,默认为抛出异常;

4.include表示文件包含*.jar的文件,指复制*.jar文件,编译的jar和源码jar;

 

复制任务需设置phase为package,否则jar没有打包就会执行复制任务。

右键运行(Run As)--》Maven build...--》在Goals中输入命令clean deploy,点击Run,则会进行打包,此时可查看控制台信息。

Maven 复制jar到指定目录_第1张图片

如需重复部署(deploy),则需设置nexus上面release Repository的policy为Allow redeploy

Maven 复制jar到指定目录_第2张图片

你可能感兴趣的:(开发软件&环境)