我正在尝试使用jsonschema2pojo插件基于schema和json sourceTypes生成POJO。每次执行都指定配置。但每次插件报告“必须提供sourceDirectory或sourcePaths之一”。当在插件级别(全局)提供配置时,我能够运行它。但是我只能指定一个sourceType。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.jsonschema2pojo</groupId>
<artifactId>jsonschema2pojo-maven-plugin</artifactId>
<version>0.5.1</version>
<executions>
<execution>
<id>generate-schema</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<outputEncoding>${project.build.sourceEncoding}</outputEncoding>
<outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
<annotationStyle>jackson2</annotationStyle>
<generateBuilders>false</generateBuilders>
<initializeCollections>true</initializeCollections>
<refFragmentPathDelimiters>#/</refFragmentPathDelimiters>
<sourceType>jsonschema</sourceType>
<targetPackage>com.company.app.integration.sabre.stub.rest</targetPackage>
<sourceDirectory>${basedir}/src/main/resources/schema</sourceDirectory>
</configuration>
</execution>
<execution>
<id>generate-json</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<outputEncoding>${project.build.sourceEncoding}</outputEncoding>
<outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
<annotationStyle>jackson2</annotationStyle>
<generateBuilders>false</generateBuilders>
<initializeCollections>true</initializeCollections>
<refFragmentPathDelimiters>#/</refFragmentPathDelimiters>
<sourceType>json</sourceType>
<targetPackage>com.company.app.integration.sabre.stub.rest</targetPackage>
<sourceDirectory>${basedir}/src/main/resources/json</sourceDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
有没有办法让插件在每个目标的执行级别使用配置?
插件版本:0.5.1
答案 0 :(得分:1)
tl; dr
从Maven项目生命周期运行&#39;编译时,插件正在考虑执行配置并按预期工作。
我正在使用Intellij并尝试从插件中生成pojo - &gt; jsonschema2pojo - &gt; jsonschema2pojo:生成Maven项目&#39;窗口。这是出现上述错误,并未执行每次执行的配置。
当我从Maven Lifecycle运行编译时,它正在执行中选择配置并按指定生成文件。
我还不确定这是插件或专家的问题,还是一个问题!
答案 1 :(得分:0)
尝试将配置移至插件级别,并使用父文件夹($ {baseDir} / src / main / resources)作为sourceDirectory。
这是一个描述同样事情的旧错误报告: https://github.com/joelittlejohn/jsonschema2pojo/issues/145