如何使Kapt与JPA一起使用

时间:2019-02-04 13:15:32

标签: kotlin metamodel maven-compiler-plugin kapt kotlin-maven-plugin

在编译器尝试生成jpa实体时,Maven失败。

Gender_.java:[11,50] cannot find symbol Gender

两个类都存在。性别类存在于kaptStubs目录中,性别存在于kapt目录中。

pom:

            <plugin>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-plugin</artifactId>
            <version>${kotlin.version}</version>
            <executions>
                <execution>
                    <id>kapt</id>
                    <goals>
                        <goal>kapt</goal>
                    </goals>
                    <configuration>
                        <sourceDirs>
                            <sourceDir>src/main/kotlin</sourceDir>
                            <sourceDir>src/main/java</sourceDir>
                        </sourceDirs>
                    </configuration>
                </execution>
            </executions>
            <configuration>
                <jvmTarget>1.8</jvmTarget>
                <compilerPlugins>
                    <plugin>all-open</plugin>
                    <plugin>spring</plugin>
                    <plugin>jpa</plugin>
                </compilerPlugins>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <artifactId>kotlin-maven-noarg</artifactId>
                    <version>${kotlin.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <artifactId>kotlin-maven-allopen</artifactId>
                    <version>${kotlin.version}</version>
                </dependency>
            </dependencies>
        </plugin>

1 个答案:

答案 0 :(得分:0)

尝试将annotationProcessorPaths添加到kapt配置

<plugin>
  <groupId>org.jetbrains.kotlin</groupId>
  <artifactId>kotlin-maven-plugin</artifactId>
  <version>${kotlin.version}</version>
  <configuration>
      <sourceDirs>
          <sourceDir>src/main/kotlin</sourceDir>
          <sourceDir>src/main/java</sourceDir>
      </sourceDirs>
  </configuration>
  <executions>
      <execution>
          <id>kapt</id>
          <goals>
              <goal>kapt</goal>
          </goals>
          <configuration>
              <annotationProcessorPaths>
                  <annotationProcessorPath>
                      <groupId>org.hibernate</groupId>
                      <artifactId>hibernate-jpamodelgen</artifactId>
                      <version>${version.hibernate}</version>
                  </annotationProcessorPath>
              </annotationProcessorPaths>
          </configuration>
      </execution>
      <execution>
          <id>compile</id>
          <phase>process-sources</phase>
          <goals>
              <goal>compile</goal>
          </goals>
      </execution>
      <execution>
          <id>test-compile</id>
          <phase>process-test-sources</phase>
          <goals>
              <goal>test-compile</goal>
          </goals>
      </execution>
  </executions>
</plugin>