我有一个没有任何明确信息来源的模块。该模块包含以下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]包为空或不存在: com.company.team.app
然后如何导出此类?非常感谢你!
答案 0 :(得分:2)
compile
阶段comes after generate-sources
,因此除非您在compile
阶段之前看到错误消息(这很奇怪!) ,源已经生成。
在您遇到的情况下,这就是我要做的事情
mvn clean compile
之后在文件系统中看到它们吗?mvn compile -X
并查找以“源根目录”开头的消息块-需要在此处提及该文件夹。 (如果不是,add it。)答案 1 :(得分:0)
实际上,它可以工作。我不知道我无法在没有源代码的情况下指定软件包,我认为它将以递归方式解决所有类。但这实际上没有任何意义。指定包含编译类的确切软件包确实有所帮助。希望它能对某人有所帮助!