如何在 java 文件.xml rum 时间将值传递给 maven pom



我有一个java文件,其中变量在运行时取值。我使用 Web 服务发现搜索服务并将其 url 保存在变量中。现在我需要将此值传递给pom.xml。

ABC.java有代码

String url= http://xx.xx.xx.xx:55939/ABCDevice?wsdl

Pom.xml是:

<wsdlOptions>
           <wsdlOption>
           <wsdl>url</wsdl> <!-- get urlvalue from java file -->
            <wsdlLocation>classpath:com/admin/discovery/ABCService.wsdl
                </wsdlLocation>
            </wsdlOption>
            </wsdlOptions>

在 wsdl 中,我想传递字符串值"http://xx.xx.xx.xx:55939/ABCDevice?wsdl",该值仅在运行时后确定。

我该怎么做?

我不认为这是Apache Maven特有的问题,而是一个一般的Java问题(Maven可能让你意识到了这一点)。在构建时,您不知道 url 应该是什么。根据应用程序的类型,您有以下几种选择:

  • JNDI(在网络容器的情况下)
  • 预定义位置上的属性文件
  • 系统属性
  • 作为参数(在可执行 jar 的情况下)
  • 在部署之前调整 web.xml(一些 Web 容器可以帮助您)

在使用像Spring这样的框架时,有一些简单的方法可以注入上述选项之一。

最新更新