gpt4 book ai didi

java - 如何从 Java 9 模块中导出所有使用 cxg-codegen-plugin 类生成的类?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:07:49 24 4
gpt4 key购买 nike

我有一个没有任何明确来源的模块。该模块包含以下 cxf-codegen-plugin 配置:

    <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] package is empty or does not exist: com.company.team.app

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

最佳答案

编译阶段comes after generate-sources,所以除非您在 compile phase 之前看到错误消息(这很奇怪!),否则源代码已经生成。

如果遇到你的情况,我会这样做:

  • 确保来源是实际生成的。 ~> 你在 mvn clean compile 之后在文件系统中看到它们了吗?
  • 确保该文件夹包含在要编译的源代码中。 ~> 运行 mvn compile -X 并查找以“Source roots”开头的消息 block - 需要在此处提及该文件夹。 (如果不是,add it。)
  • 确保包名正确,即生成的包名和导出的包名必须相同。

关于java - 如何从 Java 9 模块中导出所有使用 cxg-codegen-plugin 类生成的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51921028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com