كيف يمكنني تحديد قاعدة التبعية في مافن بين ملفات بعض اللواحق؟

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

سؤال

لدي برنامج Java الذي يولد فئات Java لتطبيقي. أساسا يستغرق المواصفات البسيطة لفئة ويولد شكل متخصص من جافا فول. أرغب في دمج هذا في My Maven Pom.xml بحيث إذا تم تغيير ملف الإدخال، فإن Maven يولد تلقائيا ملف .java الجديد قبل مرحلة الترجمة من Maven.

أعرف كيفية القيام بذلك بشكل تافه، لكنني لم أجد أي شيء في Maven Doc بهذه الوظيفة.

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

المحلول

لم تقدم تفاصيل كثيرة على عملية توليد التعليمات البرمجية، ولكن يمكنك ببساطة استدعاء مولد التعليمات البرمجية مع exec-maven-plugin (انظر أمثلة الجزء). الاتفاقية هي أن تولد مصادر في ${project.build.directory}/generated-sources/<tool>. وبعد ثم أضف المصادر التي تم إنشاؤها بناء المساعد و add-sources موجو. ربط كل شيء على generate-sources مرحلة.

سوف أظهر فقط الأشياء المساعد أدناه:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-mytool-sources</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-sources/mytool</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

يمكنك أيضا كتابة مساعد بسيط لالتفاف مولدك. في هذه الحالة، إلقاء نظرة على دليل لتوليد المصادر.

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

نصائح أخرى

لدى مافن مرحلة "توليد مصادر" لهذا

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