java无法直接引用pom中定义的变量

maven占位符类似于EL表达式,通过${}来获取pom中定义的变量,这样可以根据不同的部署环境,将对应的xml文件中的变量进行替换(一般情况下,测试和开发环境引用的变量都是不一样的,如果手动替换,这样工作量会很大)。根据pom.xml中不同部署环境配置的变量,可以动态的将xml文件中引用变量替换,也可以将Index页面中引用的静态文件路径动态变换(详情见:);但是maven中定义的变量,无法直接在代码中获取,需要定义在properties文件中,然后将对应环境properties在pom中引入即可。

下面就java中环境变量获取演示,代码如下:

1.properties文件中环境变量定义

java无法直接引用pom中定义的变量_第1张图片

java无法直接引用pom中定义的变量_第2张图片 

2.pom文件中对应部署环境引入对应properties文件



   
        local
       
           
               
                    src/main/profiles/local
               

           

       

       
            local
            INFO
            DEBUG
            INFO 
       

   


        development
       
           
               
                    src/main/profiles/development
               

           

       

       
            development
            INFO
            DEBUG
            INFO 
       

   


        preview
       
           
               
                    src/main/profiles/preview
               

           

       

       
            preview
            INFO
            DEBUG
            INFO 
       

   

   
        product
       
           
               
                    src/main/profiles/production
               

           

       

       
            product
            INFO
            DEBUG
            INFO
           
           main.js
       

   

3.在java代码中使用变量接收参数:

@Value("${profile.env}")//SpringEl表达式
private String env;

4.这样就可以获取到对应编译环境的环境变量。

你可能感兴趣的:(maven)