我有一个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这样的框架时,有一些简单的方法可以注入上述选项之一。