maven打包可执行文件

如果你需要将maven构建的项目打包成可执行jar且包含所有依赖,Assembly插件可以帮助你实现这个需求。

1. Assembly插件简介

Assembly插件的两个主要目标:

  • assembly:assembly
    被设计成直接从命令行调用,它永远不应该绑定到生命周期阶段。目标是一个聚合mojo。
  • single mojo
    被设计成作为你每日构建的一部分,应该被绑定到项目生命周期的某个阶段。

Assembly插件为一些常用的归档类型提供了内置的描述符:

  • bin
    不是本文重点,省略...
  • jar-with-dependencies
    jar-with-dependencies描述符构建一个带有主项目jar文件和所有项目运行时依赖未解开内容的JAR归档文件。外加上适当的Main-Class Manifest条目,该描述符可以为你的项目生成一个自包含的,可运行的jar,即使该项目含有依赖。
  • project
    不是本文重点,省略...
  • src
    不是本文重点,省略...

2. 创建一个自包含的可执行jar

pom.xml中添加如下assembly插件配置:

    
    4.0.0  
    com.example  
    helloworld  
    0.0.1-SNAPSHOT  
    hello  world  
    hello world
        
              
                    
          maven-assembly-plugin            
          2.2-beta-2            
                          
                                
              create-executable-jar                    
              package                    
                                      
                single                    
                                  
                                      
                                            
                  
                    jar-with-dependencies                    
                                          
                                        
                                            
                                                  
                    com.example.helloworld.Main                            
                                          
                                    
                              
                        
                  
            
      
    
  

执行mvn package后,将会得到一个可执行jar。

参考资料

  1. Maven权威指南中文版

你可能感兴趣的:(maven打包可执行文件)