هل النملة لا يزال الخيار الأفضل للأداة بناء جافا؟ [مغلق]

StackOverflow https://stackoverflow.com/questions/194125

سؤال

من وجهة نظري كمية صغيرة من الخبرة، لقد استعملت فقط النملة كأداة بناء. هل هناك أي مشاريع أخرى التي هي أفضل، ولماذا؟

هل كانت مفيدة؟

المحلول

مخضرم

وهو أفضل بكثير من النمل لأنك لم يكن لديك للمهام الأكثر شيوعا لكتابة build.xml معقدة، مخضرم له التخلف جيدة جدا وانها كل اتفاقية على التكوين.

وكما أن لديها مستودع مركزي كبير من المكتبات وأنه من السهل جدا لتكوين ل، مثل، "استخدام أحدث العموم، أيا مستقرة". سوف مخضرم ثم تحميل أحدث إصدار مستقر بالنسبة لك (لا يزيد التدقيق في الجرار إلى VCS) وإذا تم الإفراج عن إصدار مستقر المنبع الجديد، فإنه سيتم تحميله كذلك. بطبيعة الحال، فإنه من السهل تماما كما لقفله لبعض إصدار معين يجب عليك بحاجة إلى ذلك.

وكما متكاملة جيدا على حد سواء مع نتبيانس والكسوف (m2eclipse المساعد) حتى يكرم IDE مهما الإعدادات (بما في ذلك تبعيات) تقوم بتعريف في ملف pom.xml.

وهناك أيضا بعض الجوانب السلبية لمخضرم: يتم توثيق بعض الإضافات بل سيئة، والتكامل مع كل من بيئات التطوير ليست مثالية حقا، وأن بطرق مختلفة، قد تكون بعض رسائل الخطأ من الصعب أن نفهم

.

نصائح أخرى

والنملة لا يزال لاعبا رئيسيا. في تجربتي، فإنه هو المهيمن. بالاضافة الى ذلك، مع اللبلاب، فإنه يعالج بعض نقاط القوة مخضرم و. IMO، والنملة تصبح إطارا لأدوات أخرى: XML جامد جدا (انظر الرابط أدناه)

ومخضرم 2 هو أيضا لاعبا رئيسيا. وأنا أعلم الناس الذين تماما مثل ذلك والشعر الخشن في الانتقادات التي كانت الحال بالنسبة للمخضرم 1 (فقد قطعنا شوطا طويلا).

ورائع وتقدم بعض الاشياء باردة في مساحة بناء، لأنها بناء على النملة. يستخدم غانت في الكؤوس المقدسة، ولكن يمكن أن تندرج في Gradle. ويمكن استخدام هذه لجاوا كذلك.

وفي خطر القوادة بلدي بلوق، <وأ href = "http://codetojoy.blogspot.com/2008/10/ant-vs-maven-episode-2-gant-or-gradle.html" يختلط = "noreferrer"> هنا هو آخر حول غانت وGradle. هنا هو ارتباط إلى النقاش الحالي جدا بشأن مستقبلهم.

وفي المؤسسة، والنمل لا يزال لاعب يرسخ. تبعيات لا تتغير بسرعة. على عكس المشاريع مفتوحة المصدر التي تبقي الانتقال إلى حد ما أحدث نسخة من الجرار التابعة، معظم الشركات ليس محاولة لتغيير تبعيات صيامهم أيضا. وبالنظر إلى أن، لا مقارنة المزايا مخضرم في أكثر من اللازم لنملة.

وبعد ذلك مرة أخرى، إذا كنت تريد بعض من الميزات مخضرم، والناس النمل لديها لبلاب ( HTTP: // النمل. apache.org/ivy/ ) لميزة التبعيات.

إذا كنت تريد الاستمرار في استخدام النمل، الحصول على عقد من "ANT IN ACTION"، 2nd طبعة بحيث يمكنك استخدام النمل لأفضل إنتاجية.

وحظا سعيدا،

وبعض الناس مثل اللبلاب ، وهو ثينغي تبعية إدارة للالنملة حيث افترض أن الناس سوف يأتي من خلفية النملة ترغب في ذلك.

وآخرون مثل Buildr . انه شيء JRuby، حتى إذا كنت تستطيع أن تتحكم روبي وجافا في نفس المشاريع، فأعتقد أنها سوف تكون مثيرة للاهتمام.

وشخصيا، أنا فقط استخدام مخضرم . فإنه من السهل لإثارة ملف pom.xml الافتراضي، وجميع الأوامر بناء تحت تصرفكم. وعندما ينمو المشروع، لديك بالفعل البنية التحتية في المكان لتشغيل الإضافات وإضافة التبعيات.

لديك أيضا غانت . غانت هو رائع + النملة، يمكنك كتابة المهام الخاصة بك في رائع سهل ويمكنك أيضا استدعاء أي مهمة النمل. إذا كنت من متجر جافا وتريد إعادة استخدام المهارات النمل لديك ولكن لا يروق لك XML، أوصي غانت، فمن النسخة سهلة الإعداد ويمكنك تضمين ذلك في النمل (وأيضا استدعاء غانت من النمل).

وأنا حقا مثل SCons ، الذي هو أداة بناء والتي كلها مجرد مخطوطات بيثون ملفات التكوين. وهذا نداء الى كل من يعرف بيثون أو لغات البرمجة مماثلة. تم تصميم SCons للعمل بشكل جيد مع جافا وكذلك C / C ++ وغيرها من اللغات، ولقد كنت راضيا جدا معها في الماضي.

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

وMaven2 يبدو أن الشيء القادمة وحتى.

لمشاريعنا لكن نحن المهاجرة إلى نملة كلما كان ذلك ممكنا.

وMaven2 يتطلب قدرا كبيرا من المعرفة للحصول عليه بالضبط بالطريقة التي تريدها، ويبدو الإصدارات Maven2 للتعامل مع classpaths بشكل مختلف.

وهو الألم لفحص جميع التراخيص المدرجة في تبعيات التبعيات التي قد تحصل على الانتباه في.

وقد يكون أبطأ وقت البدء، كما تحتاج إلى معرفة تبعيات نفسك، ولكن على الأقل أنها يمكن قراءتها بسهولة. لا السحر يجري هنا:)

إذا كنت لا تستخدم مخضرم، وإعطاء الفكر إلى مستودع داخلي مثل نيكزس. بهذه الطريقة البرنامج لم يمت إذا قررت بعض المكتبات للذهاب بعيدا عن المرمى *.

* نحن حصلت على حرق مع maven1. مستودع ibiblio maven1 الموجهات وmaven1 لا يدعم الموجهات: (

وأود أن أحثكم على بدء مع الاحتياجات الخاصة بك عند النظر في الأداة المناسبة. كل مشروع هو مختلف، ويجب أن تعكس أداة استخدام الفضاء المشكلة ليست في الموضة.

وأن يقال، وأعتقد أن لاستخدام النمل العام لا يزال على الارجح أفضل وسيلة عامة لبناء تطبيقات جافا. وغالبا ما تستخدم على نحو فعال مع غيرها من الأدوات لإدارة الاعتماد ولكن هناك نذهب التفاف مرة أخرى قبالة إلى حل من دون مشكلة.

وهذا خبر جيد جدا، هو أنه إذا كان لديك عملية جيدة أدوات التحويل بناء هي عملية غير مؤلمة إلى حد ما - درس - تبدأ عملية جيدة تدرج إلى المشكلة المطروحة

وستجد بالفعل بعض الإجابات في <لأ href = "https://stackoverflow.com/questions/169293/what-are-some-good-java-make-utilities" عنوان = "ما هي بعض جيدة تجعل جافا المرافق؟ "> ما هي بعض جافا جيدة تجعل المرافق؟ .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top