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

b1zrtrql  于 2022-11-15  发布在  IntelliJ IDEA
关注(0)|答案(2)|浏览(135)

我正在尝试从SubVersion checkout 一个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 checkout 时,会创建一个单独的GeneratedCode目录作为项目的一部分。主源文件可以使用此目录中的任何包。但当我使用Intellij Idea checkout 时,
1.我必须手动执行安装命令和第二个。
1.这些文件确实是在指定的目录中创建的,但是主源文件看不到这些包。
我试过项目结构|模块|我的模块|相关性|添加Jar或目录以及项目结构|图书馆|新增| java |Mydiectoryy。但是都没有用。我也试着从Exclude列表中删除target文件夹,但是也没有用。我应该怎么做才能在Intellij Idea中导入生成的代理类。这是Ultimate版本2016.2.4。

s4chpxco

s4chpxco1#

最后,我从现有的源代码创建了一个模块,其中现有的源代码文件夹是我的generated-code文件夹。|我的主模块|相关性|添加模块并选择刚创建的模块。瞧。
以下是我遵循的步骤:

1、

二、

70gysomp

70gysomp2#

2022年更新

在我的例子中,我在尝试编译主源代码之前手动运行ant构建脚本来生成所需的源文件。maven generatedSourcesDirectory似乎主要用于注解,但它提供了一个自动的单行解决方案来解决这个问题。
${basedir}/target/generated-code/src更改为${project.build.directory}/generated-sources/main/java,并将此行添加到maven编译器插件<configuration>部分:

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

您可能需要启用Delegate IDE build/run actions to Maven。它位于生成工具中|Maven|跑垒员。

相关问题