Maven-Release-Plugin: فشل أداء "دليل العمل" ... مساحة العمل Target Checkout Workspace "غير موجود!"

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

سؤال

لدي مشروع Maven الذي يفشل عند الإصدار: الأداء يسمى ، على الرغم من الإصدار ؛ إعداد الأعمال كما هو متوقع.

لقد وجدت تقرير الأخطاء (أدناه) والذي يبدو أنه يشبه القضية التي لدي بالتأكيد ولكن لست متأكدًا تمامًا من أنني أفهم المشكلة:MRELEASE516

أسطر الإخراج القليلة الأخيرة أحصل عليها:

[INFO] Executing: cmd.exe /X /C "p4 -d E:\hudson\jobs\myHudsonJob\workspace\target\checkout -p 1.1.1.1:1111: client -d myProjectWorkspace-MavenSCM-E:\hudson\jobs\myHudsonJob\workspace\target\checkout"
[INFO] Executing goals 'deploy'...
[WARNING] Base directory is a file. Using base directory as POM location.
[WARNING] Maven will be executed in interactive mode, but no input stream has been configured for this MavenInvoker instance.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error executing Maven.

Working directory "E:\hudson\jobs\myHudsonJob\workspace\target\checkout\workspace" does not exist!

من قراءة تقرير الأخطاء ، يرتبط السبب المحتمل للخطأ بهيكل الوحدات النمطية ، لقد حاولت تحديده أدناه:

/workspace
|
|+ pom.xml (root pom whose parent is the build pom, 
|           calling release:perform on this pom)
|           [Modules: moduleA and moduleB]
|
|- moduleA
   |+ pom.xml (parent is also build pom)
   |+ build/pom.xml (the build pom - no custom parent)
|- moduleB
   |+ pom.xml (parent is build pom)

يبدو أن جذر بوم يجب أن يكون في دليل مشترك داخل "مساحة العمل" من الخطأ ولكنه حاول ذلك ولا يعمل ، ولا معنى لسبب حاجتي.

ماذا التحذير الدليل الأساسي هو ملف تريد مني أن أفعل بدلاً من ذلك؟! ثم يعتبر الدليل الأساسي هو مساحة العمل وهو ما يعني أنه لم يتم العثور على دليل العمل ... أي أفكار؟

شكرا لك مقدما.

تعديل:

بعد التحقق من تكوين SCM ، يبدو كل شيء على ما يرام بالنسبة لي ... في كل وحدة ونقص الجذر لدي:

<scm>
<connection>
    scm:perforce:1.1.1.1:1111://rootToDirectoryContainingRelevantPom
</connection>
<developerConnection>
    scm:perforce:1.1.1.1:1111://rootToDirectoryContainingRelevantPom
</developerConnection>
</scm>

تحرير 2:

ربما ضربت MRELEASE-261?

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

المحلول

حصلت على هذا العمل باستخدام إصدار أحدث من البرنامج المساعد. المافن سوبر بوم لديه اعتماد على V2.0 من المكون الإضافي للإصدار المحدد. إذا لم تتجاوز هذا ، فسيتم استخدام الإصدار.

يمكنك تحديد إصدار أحدث عند تشغيل البرنامج المساعد

  mvn org.apache.maven.plugins:maven-release-plugin:2.2.1:perform

أو يمكنك تجاوز إصدار التبعية في POM الخاص بك

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.2.1</version>
  </plugin>

نصائح أخرى

لست متأكدًا أنك تواجه MRELEASE-516 (وهي عن release:prepare). ومع ذلك ، أتساءل عما إذا كان لديك صحيح <scm> معلومات في كل بوم. هل يمكنك تأكيد هذا؟

Working directory "E:\hudson\jobs\myHudsonJob\workspace\target\checkout\workspace" does not exist!

لقد رأيت الخط أعلاه في السجل الخاص بك. يبدو أن لديك بعض إعداد المسار الشديد في مكان ما. هل تكتب مساحة العمل في مكان ما؟ تحقق من التكوين الخاص بك وحاول التخلص من الإعدادات الاختيارية قدر الإمكان.

في حالتي ، تبين أن نفس الأعراض نتيجة لخلة في plugin maven-release: 2.2.1. يرى MRELEASE-705.

حتى أتخلص من الخطأ ، يجب أن أضع هذا في بوم الأصل:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.0</version>
        </plugin>
    </plugins>
</build>

كان هذا الخطأ يحدث لنا

Working directory E:\Data\myproject\target\checkout does not exist!

نحن في منتصف عملية انتقال كبيرة من أدوات الخادم و Maven release:prepare يبدو أنه فشل بصمت ، حيث تم المطالبة بالعلامات وأرقام الإصدار تم دفع تغييرات دون خطأ. ومع ذلك ، بعد بعض الأبحاث ، لم يتم التزام هذه الأشياء إلا بمستودع GIT المحلي ، ولم يتم دفعه - على الرغم من release:prepare كان ينفذ أوامر لأداء دفعة ولكن لم يبلغ عن فشل - حتى مع Maven -e و -X معلمات سطر الأوامر.

نحن نستخدم Maven 3.3.9 و Maven Release Plugin 2.5.3 و Git Client 2.9.2.

كان حل النهاية لدينا يضيف (أو تصحيح ، كما قد يكون حالتك) تعريف في Maven ~\.m2\settings.xml ملف لخادم GIT الخاص بنا (Origin Master) بما في ذلك اسم المستخدم وكلمة المرور مع امتيازات لدفع العلامات (بالإضافة إلى الضغط على الماجستير). ال id في تعريف الخادم لخادم GIT الذي يجب أن يكون اسم مضيف خادم GIT:

<servers>
  <server>
    <id>git-server</id>
    <username>dan</username>
    <password>changeit</password>
  </server>
<servers>

مع هذا التحديث ، تكمل العلامة على الخادم وحدثت الخروج بنجاح.

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