如何在 Intellij Idea 中将目标文件夹中生成的源文件添加为库

How to add source files generated in target folder as library in Intellij Idea

我正在尝试从 SubVersion 检出一个 Maven 项目。在 pom.xml 文件中指定在目标文件夹中生成 Web 服务代理 类。这是 pom.xml 文件的相关部分:

          <execution>
                <goals>
                    <goal>wsimport</goal>
                </goals>
                <configuration>

                    <wsdlUrls>                               
                        <wsdlUrl>${basedir}/config/mnpBusinessService.wsdl</wsdlUrl>
                    </wsdlUrls>

                    <packageName>com.mnp.services.business</packageName>
                    <sourceDestDir>${basedir}/target/generated-code/src</sourceDestDir>
                </configuration>
                <id>ws-import-mnpBusinessService</id>
                <phase>generate-sources</phase>
           </execution>

如您所见,maven 被指示在 ${basedir}/target/generated-code/src 目录中创建生成的代理 类。当我使用 NetBeans 签出时,会创建一个单独的 GeneratedCode 目录作为项目的一部分。并且此目录中的任何包都可用于主要源文件。但是当我使用 Intellij Idea 结帐时,

  1. 我必须手动执行安装命令和第二个。

  2. 文件确实在指定目录中创建,但主要源文件看不到这些包。

我试过项目结构|模块|我的模块|依赖项|添加 Jar 或目录和项目结构|库|添加|Java|Mydiectoryy。但都没有帮助。我还尝试从排除列表中删除 target 文件夹,但这也无济于事。我应该怎么做才能在 Intellij Idea 中导入生成的代理 类。这是终极版 2016.2.4。

我最终从现有源创建了一个模块,其中现有源文件夹是我的 generated-code 文件夹。然后从 Modules|My main module|Dependencies|Add module 中选择刚刚创建的模块。瞧。

以下是我遵循的步骤:

1.

2.

3

4

2022 年更新

在我的例子中,我手动 运行 一个 ant 构建脚本来生成所需的源文件,然后再尝试编译主要源代码。 Maven generatedSourcesDirectory 似乎主要用于注释,但它提供了一个自动 one-line 解决此问题的方法。

${basedir}/target/generated-code/src 更改为 ${project.build.directory}/generated-sources/main/java 并将此行添加到 maven-compiler-plugin <configuration> 部分:

<generatedSourcesDirectory>${project.build.directory}/generated-sources/main/java</generatedSourcesDirectory>

您可能需要 Delegate IDE build/run actions to Maven 启用。它在构建工具中 |行家 |亚军.