关于创建可执行的jar文件(assembly)


java利用maven生成一个jar包,如何自动生成清单属性文件(MANIFEST.MF),如何解决jar依赖问题?

办法很简单:

只需在pom.xml文件中配置如下plugin即可:

   
                org.apache.maven.plugins
                maven-jar-plugin
                
                    
                        
                            true
                            cn.com.inas.south.main.MainTaskExcuter
                        
                    
                
            

运行mvn package命令即可生成MANIFEST.MF

该文件中包含了jar所需的依赖,以及入口类。

那如何把依赖的源代码也打到这个jar包中呢,这个时候,maven-assembly-plugin插件就派上用场了

            
                org.apache.maven.plugins
                maven-assembly-plugin
                
                    
                        
                            true
                            cn.com.inas.south.main.MainTaskExcuter
                        
                    

                    
                        jar-with-dependencies
                    

                
                
                    
                        make-assembly
                        package
                        
                            single
                        
                    
                
            

注意上面的jar-with-dependencies,这样就会把jar包和它的所有runtime依赖添加到一个jar包中了

 运行上面的命令,就会在target目录下生成**-jar-with-dependencies.jar

 最后java -jar 运行jar包便可顺利执行。