如何在 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 结帐时,
我必须手动执行安装命令和第二个。
文件确实在指定目录中创建,但主要源文件看不到这些包。
我试过项目结构|模块|我的模块|依赖项|添加 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
启用。它在构建工具中 |行家 |亚军.
我正在尝试从 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 结帐时,
我必须手动执行安装命令和第二个。
文件确实在指定目录中创建,但主要源文件看不到这些包。
我试过项目结构|模块|我的模块|依赖项|添加 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
启用。它在构建工具中 |行家 |亚军.