Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven中的目标执行机制_Java_Maven_Maven 2 - Fatal编程技术网

Java Maven中的目标执行机制

Java Maven中的目标执行机制,java,maven,maven-2,Java,Maven,Maven 2,我的项目中有wsimport插件 我想执行wsimport。根据该网站的说法,要执行的字符串是mvnjaxws:wsimport 首先,这个字符串可以从XML中推断出来吗 工件ID为: <artifactId>jaxws-maven-plugin</artifactId> 目标: <goal>wsimport</goal> 那么,工件部分只是通向-maven插件的artifactid的子字符串吗 当我执行插件目标mvn jaxws:wsimpo

我的项目中有wsimport插件

我想执行wsimport。根据该网站的说法,要执行的字符串是mvnjaxws:wsimport

首先,这个字符串可以从XML中推断出来吗

工件ID为:

<artifactId>jaxws-maven-plugin</artifactId>
目标:

<goal>wsimport</goal>
那么,工件部分只是通向-maven插件的artifactid的子字符串吗

当我执行插件目标mvn jaxws:wsimport时,这是否完全忽略了我所处的阶段?这是否超出了阶段?如果没有,有没有一种方法可以独立运行

有没有办法将相位设置为无?例如[相]无[相]

Pom代码:

<build>
    <plugins>
        <plugin>
            <groupId>org.jvnet.jax-ws-commons</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>2.3</version>
            <executions>                    
                <execution>
                    <id>wsimport-from-jdk</id>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                    <configuration>
                        <executable>${tool.wsimport}</executable>
                        <wsdlUrls>
                            <wsdlUrl>http://WorkPC:8080/server-web/AirlineWS?wsdl</wsdlUrl>     
                        </wsdlUrls>
                        <packageName>com.bluewalrus</packageName>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

当您发出mvn[plugin]:[goal]这样的命令时,它会在任何生命周期之外启动Maven,因此如果您不打算在生命周期内执行该目标,而只是通过此类命令,那么您不应该定义任何命令,只需将其放在后面即可。 关于Maven如何缩短插件调用,即mvn dependency:tree而不是mvn org.apache.Maven.plugins:Maven dependency-plugin:2.1:tree,它基于几个约定:

当没有定义版本时,它会尝试从可用存储库获取最新版本 省略groupId时,它会在预定义或用户定义的plugingroup中查找合适的plugingroup。配置Maven以搜索插件 在同一页上,您可以看到如何使用插件前缀来缩短插件前缀,方法是使用前缀而不是插件的artifactId。第三方插件应该使用[prefix]-maven插件构造,这里看起来还可以。 以及禁用插件的默认执行,尽管在这种情况下可能没有用处,
我差不多回答了我的问题。我不得不在我的网站上写下我的想法: