Maven Manifold 条件编译

Maven 配置

通过 Maven 的不同 profile 实现不同环境传递不同符号。另外 lombok 可以 manifold 一同使用,见下方配置。


    8
    8
    1.18.24
    2023.1.11



    
    
        dev
        
            true
        
        
            dev
        
        
            
                
                    org.apache.maven.plugins
                    maven-compiler-plugin
                    3.11.0
                    
                        ${maven.compiler.source}
                        ${maven.compiler.target}
                        UTF-8
                        
                            
                            -Xplugin:Manifold
                        
                        
                        
                            
                                org.projectlombok
                                lombok
                                ${lombok.version}
                            
                            
                                systems.manifold
                                manifold-preprocessor
                                ${manifold.version}
                            
                        
                    
                
            
        
    

    
    
        jdbc
        
            jdbc
        
        
            
                
                    org.apache.maven.plugins
                    maven-compiler-plugin
                    3.11.0
                    
                        ${maven.compiler.source}
                        ${maven.compiler.target}
                        UTF-8
                        
                            
                            -Xplugin:Manifold
                            
                            -AJDBC
                        
                        
                        
                            
                                org.projectlombok
                                lombok
                                ${lombok.version}
                            
                            
                                systems.manifold
                                manifold-preprocessor
                                ${manifold.version}
                            
                        
                    
                
            
        
    

代码

#if JDBC
    System.out.println("JDBC");
#else
    System.out.println("other");
#endif

 manifold 是极其强大的,远不止条件编译这么简单,有兴趣可以阅读以下两篇文章:

  1. Java 缺失的特性:扩展方法
  2. Java 缺失的特性:操作符重载

官方仓库

你可能感兴趣的:(manifold,条件编译)