Outra maneira de controlar o tempo e criar o número para Java

Existem várias maneiras de adicionar o número da compilação e o tempo de compilação dentro do programa. Sugiro mais um que não requer Maven / Jenkins / Bamboo e não comete no git.

Normalmente trabalho com Java do lado do servidor e, em quase qualquer aplicativo (Tomcat / Spring / Play ...), é necessário adicionar um ponto final, que indica o número e a hora da montagem do aplicativo durante uma solicitação HTTP. Tentei maneiras diferentes e encontrei a que mais me convinha em tudo. O processo de integração em qualquer aplicativo Java leva de 5 a 10 minutos.

Primeiro, você precisa se registrar no Backendless e criar um aplicativo lá (você pode usar qualquer outro serviço que possa fornecer um número por solicitação http, aumentando-o cada vez em 1). Após receber o APP_ID do aplicativo, você também precisa obter o API_KEY nesta página.

Depois disso, você pode usar a oportunidade para obter um número inteiro, que aumentará em 1 após cada solicitação.

Para que esse número entre no programa, você precisa usar minha biblioteca OpenSource da kolobok . Especifique a dependência da biblioteca em pom.xml ou build.gradle.

maven
<dependency> <groupId>com.github.ukman</groupId> <artifactId>kolobok</artifactId> <version>0.1.5</version> <scope>compile</scope> </dependency> 


gradle
  compileOnly 'com.github.ukman:kolobok:0.1.5' 


Adicione anotação para o campo em qualquer classe (não esqueça de escrever o APP_ID e API_KEY corretos dentro do parâmetro url).

 import org.kolobok.annotation.*; public class Main { @BuildNumber(url = "https://api.backendless.com/${APP_ID}/${API_KEY}/counters/build/increment/get", method = "PUT") public static long bn; @CompileTime public static long ct; public static void main(String args[]) { System.out.println("Build number = " + bn + " compilation time " + new Date(ct)); } } 

Agora, após cada recompilação da classe Main, você terá um novo número no campo bn a partir da sequência de números crescentes, e o campo ct terá o tempo de compilação. Ou seja, algo como irá para a entrada do compilador.

  public static long bn = 1; // 2..3..4..5.. public static long ct = 1580107708793; // System.currentTimeMillis() 

Após uma construção incremental, o arquivo Main.java pode não ser recompilado e os valores permanecerão os mesmos, mas geralmente eles fazem uma limpeza completa de todos os arquivos compilados antes da construção completa, o que significa que o número da construção será atualizado.

Agora você pode usar essas variáveis ​​para exibir o número da compilação e o tempo de compilação para o usuário.

Source: https://habr.com/ru/post/pt485552/


All Articles