سؤال

لقد كنت مستخدمًا طويلًا لنظام Make Build ، لكنني قررت أن أبدأ في تعلم نظام بناء Maven. بينما قرأت معظم المستندات عبر الإنترنت ، يبدو أن أياً لم يعطيني التشبيهات التي أبحث عنها. أفهم دورة حياة النظام ، لكنني لم أر إشارة واحدة إلى التبعيات الخطوة. على سبيل المثال ، أريد إنشاء قواعد Jflex كجزء من خطوة دورة الحياة. حاليًا ، لا أرى أي وسيلة لجعل هذه الخطوة خطوة مرحلة ما قبل المجمع. يبدو أن الوثائق محدودة على هذا. بشكل عام ، يبدو أن مفهوم التبعيات الخطوة يخبز في Maven ويتطلب مكونًا إضافيًا لأي تغيير. هل هذا هو الحال؟ ما أفتقده ، لأن نظام بناء Maven حاليًا يبدو محدودًا للغاية في كيفية إعداد خطوات التجميع.

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

المحلول

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

حتى أن هناك مسؤول jflex maven البرنامج المساعد.

كلما كان ذلك ممكنًا ، ابحث عن شخص قام بمكون من مافن يفعل ما تريد. حتى لو لم يكن ذلك صحيحًا بنسبة 100 ٪ ، فقد يعطيك على الأقل فكرة عن كيفية جعل Maven يفعل شيئًا.

الحد الأدنى من التكوين

يقوم هذا التكوين بإنشاء رمز Java من محلل لجميع ملفات القواعد (.jflex ، *.jlex ، *.lex ، .flex) الموجودة في SRC/Main/Jflex/ومربياتها الفرعية. اسم وحزمة رمز مصدر Java الذي تم إنشاؤه هي تلك المحددة في القواعد. يتم وضع رمز مصدر Java الذي تم إنشاؤه في الهدف/المصدر المولد/Jflex ، في المخرجين الفرعيين بعد اتفاقية Java على أسماء الحزم. pom.xml

<project>
  <!-- ... -->
  <build>
    <plugins>
      <plugin>
        <groupId>de.jflex</groupId>
        <artifactId>jflex-maven-plugin</artifactId>
        <version>1.6.0</version>
        <executions>
          <execution>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <!-- ... -->
  </build>
  <!-- ... -->
</project>

هذا يبدو وكأنه طريقة Maven للقيام بالأشياء. ضع أغراضك في المجلدات الصحيحة (SRC/Main/Flex) ، وسيقوم هذا البرنامج المساعد تلقائيًا بإنشائها في مشروعك. إذا أردت أن هل الأشياء المخصصة للمربي ، هناك بعض الخيارات. لكن مافن هو كل شيء عن تفضيل الاتفاقية على التكوين.

نصائح أخرى

لكي أكون صريحًا ، أعتقد أن عقليتك الحالية أفضل بكثير من النمل من Maven ، وأقترح البدء بذلك.

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