IntelliJ не запускает плагин jOOQ codegen при сборке импортированного проекта maven

#maven #intellij-idea #jooq #jooq-codegen-maven

Вопрос:

У меня есть проект с несколькими модулями maven, и я использую IntelliJ для разработки (импорт POM). Структура проекта такова:

проект

  • сущности-модуль (сущности JPA)
  • модуль запросов (плагин jOOP codegen maven с использованием базы данных JPADatabase)
  • app-модуль(логический модуль приложения)

Проблема, с которой я сталкиваюсь, заключается в том, что IntelliJ не запускает плагин jOOQ codegen (я использую логику сборки Intellij, а не делегирую задачи Maven).

То, что я делаю прямо сейчас, — это делаю сборку из Maven, чтобы заставить код jOOQ gen, а затем работать с IntelliJ. Но это подвержено ошибкам, и я хотел бы избежать этого.

Следуя соответствующим фрагментам моего ПОМ:

pom.xml/проект/сборка/Управление плагинами/плагины:

         <plugin>
          <groupId>org.jooq</groupId>
          <artifactId>jooq-codegen-maven</artifactId>
          <version>${jooq.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-data-jpa</artifactId>
              <version>${spring-boot.version}</version>
            </dependency>
            <dependency>
              <groupId>org.jooq</groupId>
              <artifactId>jooq-meta-extensions</artifactId>
              <version>${jooq.version}</version>
            </dependency>
            <dependency>
              <groupId>org.jooq</groupId>
              <artifactId>jooq-meta-extensions-hibernate</artifactId>
              <version>${jooq.version}</version>
            </dependency>
          </dependencies>
          <executions>
            <execution>
              <id>jooq-codegen</id>
              <phase>generate-sources</phase>
              <goals>
                <goal>generate</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <generator>
              <database>
                <name>org.jooq.meta.extensions.jpa.JPADatabase</name>
                <properties>
                </properties>
              </database>
            </generator>
          </configuration>
        </plugin>

 

pom.xml/проект/сборка/плагины:

       <plugin>
        <groupId>org.jooq</groupId>
        <artifactId>jooq-codegen-maven</artifactId>
        <dependencies>
          <dependency>
            <groupId>org.foo</groupId>
            <artifactId>foo-lib</artifactId>
            <version>${project.version}</version>
          </dependency>
        </dependencies>
        <configuration>
          <generator>
            <database>
              <properties>
                <property>
                  <key>packages</key>
                  <value>
                    org.foo.data
                  </value>
                </property>
              </properties>
            </database>
            <target>
              <packageName>org.foo.data</packageName>
              <directory>target/generated-sources/jooq</directory>
            </target>
          </generator>
        </configuration>
      </plugin>
 

Комментарии:

1. Intellij не знает о jOOQ. Вы можете делегировать сборку Maven.

2. Это смутно напоминает мне о проблеме Maven, которую я видел. Сработает ли это, если вы переместитесь <configuration> в <execution> ?

3. Помогает ли вызов этого действия ? Можете ли вы предоставить образец проекта, чтобы проверить это? Спасибо.

4. Лукас, твое предложение <конфигурация> в <конфигурация><выполнение> не имеет значения. Спасибо. Андрей, нажатие на действие, на которое вы указали, не создает классы DSL jOOQ. Спасибо. Ниже приведен простой проект, показывающий проблему: github.com/tucu00/jooq-codegen-mvn-intellij Заранее спасибо

5. Я предполагаю, что IntelliJ понадобится плагин для распознавания конфигурации плагина jOOQ codegen maven.