سؤال

كما ترى من العنوان ، أريد أن أطلب أن تكون حالة In مافن 3 لا يوجد دعم لإصدار $ في pom.xml بعد الآن. هل يتعين علينا حقًا كتابة ثابت في كل مرة في كل مشروع في كل مشروع POM.XML وملفات التكوين ذات الصلة مرارًا وتكرارًا؟ كيف يمكننا تجنب القيام بذلك؟ كيف يمكننا استخدام طريقة الإصدار مثل إصدار $؟

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

المحلول

التعبير ${version} تم إهمالك ، يجب أن تستخدم ${project.version} بدلاً من ذلك ، ولكن لا يزال كلاهما مدعومًا وأنت بالتأكيد لا تحتاج إلى خاصية مخصصة.

ما يلي يعمل بشكل جيد بالنسبة لي مع Maven 3:

<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>services</artifactId>
  <version>${project.version}</version>
  <type>ejb</type>
</dependency>

وأيضًا إلقاء نظرة على إجابتي السابقة تحذير من استخدام project.parent.version كنسخة من الوحدة النمطية في Maven 3, ، الطريقة التي تستخدمها version (استنادًا إلى ما رأيته في التعليقات في إجابة أخرى) لا معنى له كثيرًا ، يوحي IMHO و Maven 3 في الواقع باتباع أفضل الممارسات. فقط ورث الإصدار.

نصائح أخرى

باستخدام ماكرو داخل الجزء العلوي <version/> العنصر والنسخة في <parent/> لم يعمل Element أبدًا في Maven 2. يبدو أنه يعمل ، ولكن لم يسببه أي شيء سوى الارتباك في اتجاه مجرى النهر. إذا لم يكن هذا ما تتحدث عنه ، فيرجى توضيح سؤالك.

يوضح الخطأ أدناه إهمال $(artifactId} و ${version}

تحذير] تم إهمال التعبير $ {Artifactid}. يرجى استخدام $ {project.artifactid} بدلاً من ذلك. [تحذير] تم إهمال التعبير $ {الإصدار}. يرجى استخدام $ {project.version} بدلاً من ذلك. [تحذير] [تحذير] يوصى بشدة بإصلاح هذه المشكلات لأنها تهدد استقرار بنيتك. [تحذير] [تحذير] لهذا السبب ، قد لم تعد إصدارات Maven المستقبلية تدعم Buildin G مثل هذه المشاريع المشوهة.

رسالة التحذير تتهجى. يحل محل ${artifactId} مع ${project.artifactId}, ، و ${version} مع ${project.version}

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