How can I in a jsp page get maven project version number?

后端 未结 11 2238
天命终不由人
天命终不由人 2020-12-14 16:07

I am working on a java web application, managed by maven2. From time to time, we did some changes, and want to do new releases, of course with new version number. In the hom

11条回答
  •  无人及你
    2020-12-14 16:51

    Parent pom.xml:

    
            
            dev
            local
            
     
    

    Resource filtering (placeholders are replaced by pom-property values here)

    
       
           src/main/resources
           
                conf/version.properties
           
           true
       
    
    

    Bean and property placeholder config in webContext.xml:

    
    
        
            
            
            
        
    

    Your bean looks like this then

    @Component
    public class BuildVersion {
    
        private String buildBranch;
        private String buildVersion;
        private String buildRevision;
    
        public String getBuildRevision() {
            return buildRevision;
        }
    
        public void setBuildRevision(String buildRevision) {
            this.buildRevision = buildRevision;
        }
    
        public String getBuildVersion() {
            return buildVersion;
        }
    
        public void setBuildVersion(String buildVersion) {
            this.buildVersion = buildVersion;
        }
    
        public String getBuildBranch() {
            return buildBranch;
        }
    
        public void setBuildBranch(String buildBranch) {
            this.buildBranch = buildBranch;
        }
    
    }
    

    And here comes your JSP snippet:

    <%@ page language="java"
       import="java.util.*,
            org.springframework.context.ApplicationContext,
        org.springframework.web.context.support.WebApplicationContextUtils,
             de.smava.kredithai.cfg.BuildVersion" %>
    <%
        ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(pageContext.getServletContext());
        BuildVersion buildVersion = (BuildVersion) applicationContext.getBean("buildVersion");
    
        String branch = (String) buildVersion.getBuildBranch();
        String version = (String) buildVersion.getBuildVersion();
        String revision = (String) buildVersion.getBuildRevision();
    
        if (request.getParameter("branch") != null){
            out.println(branch);
        } else if (request.getParameter("version") != null){
            out.println(version);
        } else if (request.getParameter("link") != null){
            out.println("" + branch + " build " + version + "");
        } else {
            out.println(branch + " build " + version + " rev. " + revision);
        }
    %>
    

提交回复
热议问题