Maven ile Sürüm ve Sürüm Tarihi Gösterme(Stamping Version Number and Build Time in a Properties File with Maven)



Merhaba,

Maven ile oluşturulan sürüm numarasını ve oluşturulma tarihi projenizde göstermek için aşağıdaki adımları takip edebilirsiniz.



  • İlk adım olarak projemizin src/main/resorces klasörünün altına "version.properties" dosyasını oluşturuyoruz.

  • Oluşturmuş olduğumuz "version.properties" dosyasının içerisine aşağıdaki değerleri yazıyoruz.
       version=${pom.version}

       build.date=${timestamp}
  • "pom.xml" dosyasını açıyoruz ve "<properties></properties>" etiketlerinin altına

<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>dd.MM.yyyy HH:mm</maven.build.timestamp.format>

ekliyoruz.

  • "<build></build>" etiketlerinin arasına ise aşağıdaki değerleri yazıyoruz.
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>


  • Yapacağımız ayarlar bitti ve şimdi ise xhtml ve controller sayfalarında sürüm ve sürüm tarihi çağırma işlemini yapıyoruz
index.xhtml


<?xml version='1.0' encoding='UTF-8' ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html">

    <h:head>
        <title>Facelet Title</title>
    </h:head>

    <h:body>
        <h:form>

            <h:outputText value="Version:"/>
            <h:outputText value="#{example.version}"/>
            <br/>

            <h:outputText value="Build Date:"/>
            <h:outputText value="#{example.buildDate}"/>

        </h:form>

    </h:body>

</html>




Example.java


package com.kurtomerfaruk.mavenversion;


import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;


/**
 *
 * @author Omer Faruk Kurt
 * @Created on date 29/09/2018 12:12:52
 */

@ManagedBean
@ApplicationScoped
public class Example {


    private String version;
    private String buildDate;

    public Example() {

        Properties prop = loadManifestFile();
        if (prop != null) {
            version = prop.getProperty("version");
            buildDate = prop.getProperty("build.date");
        }

    }



    public String getVersion() {
        return version;
    }


    public void setVersion(String version) {
        this.version = version;
    }


    public String getBuildDate() {
        return buildDate;
    }


    public void setBuildDate(String buildDate) {
        this.buildDate = buildDate;
    }


    private Properties loadManifestFile() {

        Properties prop = new Properties();
        try {
            InputStream resourceAsStream = getClass().getClassLoader().getResourceAsStream("version.properties");
            if (resourceAsStream != null) {
                prop.load(resourceAsStream);
            }

        } catch (IOException e) {

        }

        return prop;

    }



}




Sonuç :




Yorum Gönder

0 Yorumlar