如何给Maven管理的普通Java项目指定默认启动类

Java -jar 命令启动项目时,会去读取META-INF/MANIFEST.MF中的Main-Class属性值。

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: ls
Created-By: Apache Maven 3.6.0
Build-Jdk: 1.8.0_361
Main-Class: polymorphism.Client

如何指定Main-Class值?(两种方式)

都是在pom文件中通过标签指定值。

第一种:


     
            
                maven-compiler-plugin
                
                    1.8
                    1.8
                    UTF-8
                    true
                
                3.8.0
            

            
                maven-jar-plugin
                3.0.2
                
                    
                        
                            polymorphism.Client
                        
                    
                
            
    

第二种:

    
        
            
                org.apache.maven.plugins
                maven-shade-plugin
                2.3
                
                    
                        package
                        
                            shade
                        
                        
                            
                                
                                    
                                    polymorphism.Client
                                
                            
                        
                    
                
            
        
    

为什么指定后,就可以生成Main-Class属性了呢?

这两种方式分别是通过什么方式达到效果的呢?

你可能感兴趣的:(java,maven,开发语言)