将属性中的WSDL URL添加到pom

时间:2017-11-16 14:45:04

标签: maven properties pom.xml

不确定这个问题是否已经得到解答,但我一直在寻找谷歌和stackoverflow一段时间,并没有找到符合我需要的东西。

我有一个pom.xml文件,我在其中定义了一个属性(这是一个WSDL URL):

<properties>
    <service.wsdl.url>https://myservice.com/testservice.asmx?wsdl</service.wsdl.url>
</properties>

然后我使用wsimport为Web服务组件生成了一个插件:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>1.12</version>
            <executions>
                <execution>
                    <id>myservice</id>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                    <configuration>
                        <wsdlUrls>
                            <wsdlUrl>${service.wsdl.url}</wsdlUrl>
                        </wsdlUrls>
                        <packageName>com.myservice.generated</packageName>
                        <sourceDestDir>src/main/java</sourceDestDir>
                        <args>
                            <arg>-B-XautoNameResolution</arg>
                        </args>
                    </configuration>
                </execution>
            </executions>
        </plugin>

我的问题是如何从属性文件中获取URL。我在我的src / main / resources文件夹中有一个名为“application.properties”的属性文件,其中我有一个键/值对:

service.wsdl.url = https://myservice.com/testservice.asmx?wsdl

我想做点什么:

<properties>
    <service.wsdl.url>${service.wsdl.url}</service.wsdl.url>
</properties>

我正在检查一些答案和帖子,但如上所述,我无法找到满足我需求的东西。

任何帮助将不胜感激。

提前致谢!

1 个答案:

答案 0 :(得分:2)

您可以使用 properties-maven-plugin 作为:

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0.0</version>
    <executions>
      <execution>
        <phase>initialize</phase>
        <goals>
          <goal>read-project-properties</goal>
        </goals>
        <configuration>
          <files>
            <file>src/main/resources/application.properties</file>
          </files>
        </configuration>
      </execution>
    </executions>
  </plugin>