Maven打包插件

Dubbo做一个服务提供者,以Dubbo方法自提供的Main方法启动,供消费者调用,希望做到类似SpringBootJar包启动。最后采用Maven打包插件把服务提供者打包成Jar放入服务器启动。

思路

Jar包执行访问Jar包中META-INF/MANIFEST.MF文件,文件包含Jdk编译版本,Jar依赖,Jar版本,启动Main方法等。
所以两个插件,

  • Maven编译后把Jar放入固定文件夹下(target\lib)
  • Maven插件打包设置Main方法
  1. 生成依赖Jar包到固定文件夹下

         
             org.apache.maven.plugins
             maven-dependency-plugin
             
                 
                     copy-dependencies
                     package
                     
                         copy-dependencies
                     
                     
                         jar
                         jar
                         ${project.build.directory}/lib
                     
                 
             
         
    
  2. 设置生成Jar启动类

         
             org.apache.maven.plugins
             maven-jar-plugin
             2.4
             
                 target/classes/
                 
                     
                         com.alibaba.dubbo.container.Main
                         false
                         true
                         lib/
                     
                     
                         .
                     
                 
             
         
    

两个插件实现了部署Jar项目只需要执行Jar就好了,而且这种方式不像SpringBoot把所有依赖全部放入Jar包中生成的Jar较大,代码修改上传耗时。如果程序需不需要修改依赖Jar,我们只需要上传我们自己写的Jar就好了就几M。

你可能感兴趣的:(Maven打包插件)