我正在尝试从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。
2条答案
按热度按时间s4chpxco1#
最后,我从现有的源代码创建了一个模块,其中现有的源代码文件夹是我的
generated-code
文件夹。|我的主模块|相关性|添加模块并选择刚创建的模块。瞧。以下是我遵循的步骤:
1、
二、
三
四
70gysomp2#
2022年更新
在我的例子中,我在尝试编译主源代码之前手动运行ant构建脚本来生成所需的源文件。maven
generatedSourcesDirectory
似乎主要用于注解,但它提供了一个自动的单行解决方案来解决这个问题。将
${basedir}/target/generated-code/src
更改为${project.build.directory}/generated-sources/main/java
,并将此行添加到maven编译器插件<configuration>
部分:您可能需要启用
Delegate IDE build/run actions to Maven
。它位于生成工具中|Maven|跑垒员。