使用 build-helper-maven-plugin 添加生成的 Apache Avro 源
Add generated Apache Avro source with build-helper-maven-plugin
我正在使用 Apache avro 生成一些 pojo,在 运行 中都运行良好,预计生成的源代码在 IDE (intellij) 的导入中被标记为不存在。
我尝试使用 build-helper-maven-plugin 添加源,但它不起作用
这是我的 apache avro 和构建助手插件的 maven 配置:
<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<version>${avro.version}</version>
<configuration>
<stringType>String</stringType>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>schema</goal>
</goals>
<configuration>
<sourceDirectory>${project.basedir}/src/main/avro/</sourceDirectory>
<outputDirectory>${project.build.directory}/generated-sources/</outputDirectory>
<imports>
<import>${project.basedir}/src/main/avro/errorkind.avsc</import>
</imports>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
“generated-sources”位于 ${project.build.directory}/target 文件夹下
另外,尝试将“generated-sources”标记为源目录。您可以通过以下方式做到这一点:
项目结构 → 模块 → 单击 generated-sources 文件夹并将其设为源文件夹。
尝试使用以下方法更改您的 pom 并 运行 全新安装,然后您应该能够导入。
<configuration>
<sourceDirectory>${project.basedir}/src/main/resources/</sourceDirectory>
<source>${project.build.directory}/generated-sources</source>
</configuration>
在 POM 中,InteliJ 可能会在添加后给你一个假错误,但你的构建会成功。
我正在使用 Apache avro 生成一些 pojo,在 运行 中都运行良好,预计生成的源代码在 IDE (intellij) 的导入中被标记为不存在。
我尝试使用 build-helper-maven-plugin 添加源,但它不起作用 这是我的 apache avro 和构建助手插件的 maven 配置:
<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<version>${avro.version}</version>
<configuration>
<stringType>String</stringType>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>schema</goal>
</goals>
<configuration>
<sourceDirectory>${project.basedir}/src/main/avro/</sourceDirectory>
<outputDirectory>${project.build.directory}/generated-sources/</outputDirectory>
<imports>
<import>${project.basedir}/src/main/avro/errorkind.avsc</import>
</imports>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
“generated-sources”位于 ${project.build.directory}/target 文件夹下 另外,尝试将“generated-sources”标记为源目录。您可以通过以下方式做到这一点:
项目结构 → 模块 → 单击 generated-sources 文件夹并将其设为源文件夹。
尝试使用以下方法更改您的 pom 并 运行 全新安装,然后您应该能够导入。
<configuration>
<sourceDirectory>${project.basedir}/src/main/resources/</sourceDirectory>
<source>${project.build.directory}/generated-sources</source>
</configuration>
在 POM 中,InteliJ 可能会在添加后给你一个假错误,但你的构建会成功。