لماذا يتم إصدار mvn: يفشل الإعداد أثناء وضع العلامات؟

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

سؤال

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

    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Unable to tag SCM
    Provider message:
    The svn tag command failed.
    Command output:
    svn: Commit failed (details follow):
    svn: File '/repos/june/tags/foo-1.0.2/foo.bar.org/pom.xml' already exists

هل لديك أي فكرة عن مصدرها وكيفية الالتفاف حولها؟

(آسف على تكرار المشاركة - الأولى تم إغلاقها لأنني لم أصيغها كسؤال يمكن الإجابة عليه.آمل أن يكون الأمر على ما يرام الآن.)

يحرر
يعتني البرنامج المساعد لإصدار maven بالإصدار الذي يتعامل مع نفسه.لذلك عندما أتحقق من المسار في مستودع التخريب، فإن المسار غير موجود بعد.

تحرير 2
@ بن:لا أعرف إصدار الخادم، ولكن العميل هو 1.5.2 أيضًا.

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

المحلول

تمت معالجة هذه المشكلة في الإصدار الأحدث من مخضرم-الإصدار-البرنامج المساعد.أضف هذا إلى POM الخاص بك لسحبه.

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.0-beta-9</version>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

المشكلة التي تم إصلاحها هي مرليس-375.

نصائح أخرى

هذا لأنك لم تقم بزيادة رقم الإصدار - 1.0.2 موجود بالفعل في مستودع Subversion الخاص بك.

قم بزيادة الإصدار الخاص بك أو قم فقط بإزالة العلامة /repos/june/tags/foo-1.0.2 من الريبو الخاص بك.

رولاند، إذا لم تكن قد رأيت هذا بالفعل، فألق نظرة على منشور مدونة John Smart حول هذه المشكلة.على الرغم من أن السيناريو الذي يقترحه غير أنيق، إلا أنه يحل المشكلة:

http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html

الحل الآخر هو استخدام Git.(أنا == أكتب حاليًا عن Maven وGit)

روابط مفيدة محتملة:

http://weblogs.java.net/blog/johnsmart/archive/2008/12/subversion_mave.html (التي سبق ذكرها)

http://jira.codehaus.org/browse/MRELEASE-427 (الخطأ الحقيقي؟)

http://jira.codehaus.org/browse/SCM-406 (خطأ ذو صلة)

http://olafsblog.sysbsb.de/?p=73 (منشور أحدث وربما أكثر فائدة)

بقدر ما أعرف، فهو خطأ في Subversion 1.5 ولا يرتبط مباشرة بـ maven.ومع ذلك، فإن الحل البديل الذي تم إصلاحه بالنسبة لي هو تحديث مستودع svn المحلي وتشغيل الإصدار: إعداد الهدف مرة أخرى.

لقد قضيت وقتًا طويلاً في القتال مع هذا.هناك شيء مختلف في SVN 1.5.1+ يكسر الالتزام بعلامة مباشرة من نسخة العمل - وهو بالضبط ما يفعله Maven.ولا يزال هناك الكثير من توجيه أصابع الاتهام بشأن الجهة المسؤولة عن حل المشكلة.

يمكنك إجراء "تحديث svn" وإعادة تشغيل أمر الإصدار، ولكن إذا كنت تقوم بإصدار: فرع، فسيؤدي ذلك إلى عدم قيام البرنامج الإضافي للإصدار بإرجاع ملفات POM إلى حالتها السابقة.

أفضل حل أعرفه هو العودة إلى Subversion 1.5.0.

هذا هو مُثَبَّت في أحدث إصدار من البرنامج المساعد، 2.0-beta-9

لقد وصلت إلى هذا المنشور لأنني كنت أواجه مشكلة في البناء على خادم لم يتم تثبيت svn عليه.

وقد ساعد هذا:جنكينز مع التخريب

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