github/gitignore · Java.gitignore
شرح قالب .gitignore لـ Java
يشرح سبب تجاهل Java.gitignore لملفات .class وأرشيفات الحزم (jar وwar) وسجلات انهيار JVM، ومشكلة الترتيب عند استخدامه مع قوالب أدوات البناء.
Java.gitignore قالب قصير من نحو 13 سطرًا، لا يتناول إلا نتائج الترجمة والملفات التي يتركها JVM. لا يتضمن target/ في Maven ولا build/ في Gradle، لذا الشائع في المشاريع الفعلية استخدامه مع قالب Maven أو Gradle وقالب بيئة التطوير.
أجدر القواعد بالانتباه هي *.jar. الغرض منها ألا توضع أرشيفات النشر في المستودع، لكنها تتجاهل أيضًا ملف jar الخاص بالمغلّف (wrapper) لأداة البناء، لذا يجب الانتباه إلى ترتيب التركيبة.
شرح القواعد
| النمط | ما الذي يتجاهله ولماذا |
|---|---|
*.class | نتائج الترجمةالشيفرة البايتية التي ينشئها javac من الشيفرة المصدرية. يمكن إعادة إنشائها في أي وقت ما دامت الشيفرة المصدرية موجودة، ويختلف محتواها باختلاف إصدار المترجم. |
*.jar*.war*.nar*.ear*.zip*.tar.gz*.rar | أرشيفات الحزمملفات النشر والملفات المضغوطة الناتجة عن البناء. الغرض هو جلب ملفات jar للاعتماديات من مستودعات مثل Maven Central بدل الطريقة القديمة التي كانت تضعها مباشرة في المستودع. |
hs_err_pid*replay_pid* | سجلات انهيار JVMملف hs_err_pid<رقم>.log الذي يتركه JVM في مجلد العمل عند توقفه غير الطبيعي، وملف replay_pid لإعادة إنتاج حالة مترجم JIT. إنها ملفات تُستخدم للتصحيح مرة واحدة. |
*.log | السجلاتسجلات تشغيل التطبيق. إيداع ملفات السجل يولّد تغييرات مع كل تشغيل، وقد يسرّب معلومات التشغيل. |
*.ctxt.mtj.tmp/ | BlueJ وJ2MEملفات السياق في BlueJ، بيئة التطوير التعليمية، ومجلد مؤقت لـ Mobile Tools for Java (J2ME). لا أثر لها إن لم تكن تستخدم هذه الأدوات. |
ملاحظات عملية
- يتجاهل
*.jarأيضًا ملفgradle/wrapper/gradle-wrapper.jarالخاص بمغلّف Gradle. تحل القاعدة!gradle-wrapper.jarفي قالب Gradle هذه المشكلة، لكن git يتبع آخر قاعدة مطابقة، لذا يجب الاختيار بحيث يأتي Gradle بعد Java. - لا يتضمن هذا القالب مجلدات البناء (
target/وbuild/). أضف قالب Maven أو Gradle. - ملفات بيئات التطوير مثل
.idea/في IntelliJ و.projectو.classpathفي Eclipse تُعالج عبر قالبي JetBrains وEclipse. - إذا لزم وضع ملفات jar لمكتبات في المستودع، فأعد تضمين مسار محدد فقط مثل
!libs/*.jar.
القالب الأصلي
Java.gitignore
# Compiled class file*.class# Log file*.log# BlueJ files*.ctxt# Mobile Tools for Java (J2ME).mtj.tmp/# Package Files #*.jar*.war*.nar*.ear*.zip*.tar.gz*.rar# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xmlhs_err_pid*replay_pid*
مصدر القوالب: github/gitignore/Java.gitignore @356fd7b (2026-09-11) · CC0-1.0