هناك طريقة أخرى لتتبع الوقت وبناء رقم لجافا

هناك العديد من الطرق لإضافة رقم البنية ووقت الترجمة داخل البرنامج. أقترح أكثر من ذلك لا يتطلب Maven / Jenkins / Bamboo ولا يرتكبها.

أعمل عادةً مع Java من جانب الخادم ، ويحتاج أي تطبيق تقريبًا (Tomcat / Spring / Play ...) إلى إضافة نقطة نهاية ، والتي ستشير إلى عدد ووقت تجميع التطبيق أثناء طلب HTTP. جربت طرقًا مختلفة ووجدت الطريقة التي تناسبني في كل شيء. تستغرق عملية التكامل في أي تطبيق Java من 5 إلى 10 دقائق.

تحتاج أولاً إلى التسجيل في Backendless وإنشاء تطبيق هناك (يمكنك استخدام أي خدمة أخرى يمكنها إعطاء رقم عن طريق طلب http ، وزيادة الرقم في كل مرة بمقدار 1). بعد تلقي APP_ID للتطبيق ، تحتاج أيضًا إلى الحصول على API_KEY في هذه الصفحة.

بعد ذلك ، يمكنك استخدام الفرصة للحصول على عدد صحيح ، والذي سيزيد بمقدار 1 بعد كل طلب.

لكي يصل هذا الرقم إلى البرنامج ، تحتاج إلى استخدام مكتبة kolobok OpenSource الخاصة بي. حدد تبعية المكتبة في pom.xml أو build.gradle.

مخضرم
<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' 


إضافة تعليق توضيحي للحقل في أي فئة (لا تنس أن تكتب APP_ID و API_KEY الصحيحين داخل معلمة عنوان 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)); } } 

الآن ، بعد كل إعادة تجميع للفئة الرئيسية ، سيكون لديك رقم جديد في حقل bn من تسلسل الأرقام المتزايدة ، وسيحصل حقل ct على وقت التجميع. وهذا هو ، شيء من هذا القبيل سوف تذهب إلى إدخال مترجم.

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

بعد الإنشاء التزايدي ، قد لا تتم إعادة ترجمة ملف Main.java وستظل القيم كما هي ، لكنها عادة ما تقوم بعملية تنظيف كاملة لجميع الملفات المترجمة قبل الإنشاء الكامل ، مما يعني أنه سيتم تحديث رقم البنية.

يمكنك الآن استخدام هذه المتغيرات لعرض رقم البنية ووقت البناء للمستخدم.

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


All Articles