java - 2个插件在pom中不能同时工作
问题描述
我在 build 标签下添加了 2 个插件,这两个插件的功能都是在目标文件夹下生成一些类。每当我尝试clean install
maven 应用程序时,默认情况下每次都会清理目标,然后将新内容安装到目标文件夹中,这是理想的方式。
但是在下面的代码中,只有在只有单个插件的情况下才会生成 Java 类。我必须手动注释任何一个插件,然后我需要安装 maven 目标,然后为单个插件生成 Java 类,我需要为第二个插件重复同样的事情。
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources/somefolder</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<id>somefolder</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
<wsdlDirectory>src/main/webapp/WEB-INF/wsdl</wsdlDirectory>
<wsdlFiles>
<wsdlFile>myfirstwsdl.wsdl</wsdlFile>
</wsdlFiles>
<wsdlLocation>/WEB-INF/wsdl/*</wsdlLocation>
<extension>true</extension>
<target>2.2</target>
</configuration>
</plugin>
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<id>wsimport</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
<wsdlDirectory>src/main/webapp/WEB-INF/wsdl</wsdlDirectory>
<wsdlFiles>
<wsdlFile>mysecondwsdl.wsdl</wsdlFile>
</wsdlFiles>
<wsdlLocation>/WEB-INF/wsdl/*</wsdlLocation>
<extension>true</extension>
<target>2.2</target>
</configuration>
</plugin>
</plugins>
</build>
我的问题是,如何在不注释目标文件夹下的任何插件的情况下同时生成 Java 类?
解决方案
您两次指定相同的插件,这是行不通的。您需要像这样合并两者(<configuration>
向内移动<execution>
):
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<id>somefolder</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlDirectory>src/main/webapp/WEB-INF/wsdl</wsdlDirectory>
<wsdlFiles>
<wsdlFile>myfirstwsdl.wsdl</wsdlFile>
</wsdlFiles>
<wsdlLocation>/WEB-INF/wsdl/*</wsdlLocation>
<extension>true</extension>
<target>2.2</target>
</configuration>
</execution>
<execution>
<id>wsimport</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlDirectory>src/main/webapp/WEB-INF/wsdl</wsdlDirectory>
<wsdlFiles>
<wsdlFile>mysecondwsdl.wsdl</wsdlFile>
</wsdlFiles>
<wsdlLocation>/WEB-INF/wsdl/*</wsdlLocation>
<extension>true</extension>
<target>2.2</target>
</configuration>
</execution>
</executions>
</plugin>
推荐阅读
- spring - 如果未设置或为空,则默认注入环境变量
- java - 在 for 循环中转换成绩
- android - Android导航项目不显示片段
- google-cloud-platform - 在 GCP 上将服务帐号添加到 Cloud Function
- android - 膨胀类 com.google.vrtoolkit.cardboard.CardboardView 时出错使应用程序崩溃
- azure-ad-b2c - 没有用户的 Azure B2C 身份验证
- python - docker-compose run 成功时 docker-compose up 失败
- python - 用于文本分类的一个巨大或多个小型模型
- eclipse-plugin - 以编程方式停用所有 Codan Checkers
- java - Rapidclipse - 一个屏幕中的多个窗口使用过滤器进行选择