【发布时间】:2016-01-14 17:31:48
【问题描述】:
maven中是否可以区分wsdl webservices的多种配置?
我有one application,它可以在test, stage and prod environments 上运行。而且我必须使用一项网络服务。网络服务有3 different wsdl locations。对于test, stage and prod.
maven 有没有办法说如果我想为 prod 构建我的应用程序,只需使用 prod 的 web 服务位置。舞台和测试也一样?
我有一个 wsdl 导入配置,它适用于单个非动态部分。
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlFiles>
<wsdlFile>wsdlFile_live.wsdl</wsdlFile>
</wsdlFiles>
<vmArgs>
<vmArg>-Djavax.xml.accessExternalDTD=all</vmArg>
<vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
</vmArgs>
<packageName>com.example.schema</packageName>
<wsdlLocation>http://liveLocation/?wsdl</wsdlLocation>
</configuration>
<id>wsimport-generate-_live.wsdl</id>
<phase>generate-sources</phase>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>webservices-api</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>
<configuration>
<sourceDestDir>${project.build.directory}/generated-sources/jaxws-wsimport</sourceDestDir>
<xnocompile>true</xnocompile>
<verbose>true</verbose>
<extension>true</extension>
<catalog>${basedir}/src/jax-ws-catalog.xml</catalog>
</configuration>
【问题讨论】:
-
对我来说,不得不多次构建相同的基础来获得测试、阶段、产品听起来是个坏主意。为什么不直接从环境变量中选择正确的 WSDL,告诉 java 是否获取 dev-wsdl、test-wsdl... 或 prod-wsdl
标签: java web-services maven wsdl maven-3