5

我有一个 Maven 项目,其中我在项目构建期间使用wsimport作为目标的 Web 服务。

<build>
  <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>1.10</version>
            <executions>
                <execution>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                </execution>
            </executions>
            <!-- -->
            <configuration>
                <wsdlUrls>
                    <wsdlUrl>http://localhost:8081/email-service/services/EmailService?wsdl</wsdlUrl>
                </wsdlUrls>
                <sourceDestDir>${project.build.directory}/generated</sourceDestDir>
                <verbose>true</verbose>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
<finalName>EmailServiceClient</finalName>

clean install我使用命令构建项目。工件/类在target->generated目录中生成。到目前为止,一切都很好。

现在,当我尝试访问src目录中生成的任何类时,我收到编译器错误,指出该类未定义。我的同行告诉我使用

eclipse:clean eclipse:eclipse

我做到了,它解决了这个问题。我能够非常轻松地使用这些生成的类。现在我想知道

  • 这个命令实际上发生了什么?
  • 有什么用?
  • 我真的遵循正确的消费方式吗?我知道我也可以使用wsdl2java,但这有什么问题?

有没有人遇到过这种情况?请对此有所了解。谢谢!

4

1 回答 1

4

我不确定您的问题背后的原因“当我尝试访问我的 src 目录中生成的任何类时,我得到编译器错误,说明该类未定义。”但我可以告诉您您正在使用的命令的含义

据我所知,在 Maven 中,我们可以一次定义多个目标来执行,所以

eclipse:clean   \\Deletes the .project, .classpath, .wtpmodules files and .settings  folder used by Eclipse.

eclipse:eclipse \\build the project into eclipse project like structure.
于 2014-01-27T21:47:13.500 回答