代码之家  ›  专栏  ›  技术社区  ›  Dmitry Senkovich

如何从Java 9模块导出所有用cxg codegen插件类生成的类?

  •  3
  • Dmitry Senkovich  · 技术社区  · 6 年前

        <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-codegen-plugin</artifactId>
                <version>${cxf.version}</version>
                <executions>
                    <execution>
                        <id>generate-sources</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <wsdlOptions>
                                <wsdlOption>
                                    <wsdl>
                                        ${project.build.directory}/schema/wsdl/service.wsdl
                                    </wsdl>
                                    <bindingFiles>
                                        <bindingFile>
                                            ${basedir}/src/main/resources/bindings.xml
                                        </bindingFile>
                                    </bindingFiles>
                                </wsdlOption>
                            </wsdlOptions>
                        </configuration>
                        <goals>
                            <goal>wsdl2java</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
    

    所以它是一个与生成类的依赖关系。我需要将所有类导出到其他Java模块。比如说,我需要出口 com.company.team.app 包裹。我试着把它加到 module-info.java

    module info.java:[6,20]包为空或不存在: com.company.team.app公司

    那么我该如何导出这些类呢?非常感谢你!

    2 回复  |  直到 6 年前
        1
  •  2
  •   Nicolai Parlog    6 年前

    这个 compile comes after generate-sources ,所以除非您看到错误消息 编译 阶段

    在你这种情况下,我会这样做:

    • 确保源是实际生成的。~>您在之后的文件系统中看到它们了吗 mvn clean compile ?
    • 确保文件夹包含在要编译的源中。~>运行 mvn compile -X add it .)
    • 请确保包名称正确,即生成的包名称和导出的包名称必须相同。
        2
  •  0
  •   Dmitry Senkovich    6 年前

    实际上,它是有效的。我不知道我不能指定没有源的包,我想它会递归地解析所有的类。但这实际上没有意义。指定包含编译类的确切包确实有帮助。希望它能帮助别人!

    推荐文章