【问题标题】:jsonschema2pojo maven plugin configuration in execution not considered未考虑执行中的 jsonschema2pojo maven 插件配置
【发布时间】:2018-03-15 19:06:53
【问题描述】:

我正在尝试使用 jsonschema2pojo 插件来生成基于模式和 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

【问题讨论】:

    标签: java maven intellij-idea jsonschema2pojo


    【解决方案1】:

    tl;dr

    当从 Maven 项目生命周期运行 'compile' 时,插件正在考虑从执行开始的配置并按预期工作。


    我正在使用 Intellij 并试图从插件生成 pojo -> jsonschema2pojo -> jsonschema2pojo:generate 在“Maven 项目”窗口下。这给出了上述错误,并且没有在每次执行时进行配置。

    当我从 Maven 生命周期运行编译时,它会在执行中选择配置并生成指定的文件。

    我还不确定这是插件或 maven 的问题,还是根本没有问题!!

    【讨论】:

      【解决方案2】:

      尝试将您的配置移到插件级别并使用父文件夹 (${baseDir}/src/main/resources) 作为 sourceDirectory。

      这是一个旧的错误报告,描述了同样的事情: https://github.com/joelittlejohn/jsonschema2pojo/issues/145

      【讨论】:

      • 感谢您的提示。这只需要处理子文件夹的包创建。我希望将两个不同的文件夹分别视为 jsonschema 和 json。
      猜你喜欢
      • 2013-10-09
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 2019-12-07
      • 2017-11-03
      • 1970-01-01
      • 2012-07-11
      相关资源
      最近更新 更多