如何动态更新maven pom

时间:2017-06-11 13:15:01

标签: maven wsimport maven-invoker-plugin

我正在使用wsImport从wsdl文件创建java atrifacts。我有很多wsdl文件,截至目前我正在pom中为wsdl文件制作多个wsimport插件条目,这会变得很乱。

是否可以在运行时动态添加插件到maven? 我可以使用maven embedder和maven-invoker从java调用maven命令。 我也可以使用MavenXpp3Reader读取pom,但完全不确定是否可以动态更新pom。

1 个答案:

答案 0 :(得分:0)

请尝试使用JAX-WS Maven Plugin

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>2.4.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <target>2.1</target>
                <!-- use 2.2 for Java SE 8 or Java EE 6+ runtime -->
                <wsdlUrls>
                    <wsdlUrl>...</wsdlUrl>
                    <wsdlUrl>...</wsdlUrl>
                    <wsdlUrl>...</wsdlUrl>
                    ...
                </wsdlUrls>
            </configuration>
        </plugin>

有关更多配置选项,请参阅链接文档。

请注意,这会在target/generated-sources/wsimport中生成源文件,这些文件会自动添加到maven-compiler-plugin要编译的源文件中。