我维护的项目使用axis-maven-plugin来生成源代码。此源代码用于调用PDF生成器服务。
但是,服务的url在生成的Java代码中是硬编码的。
public class GenerateReportServServiceLocator
extends org.apache.axis.client.Service
implements com.company.GenerateReportServService
{
// ...
// Use to get a proxy class for GenerateReportServ
private java.lang.String GenerateReportServ_address =
/* Hardcoded URL */ "http://host:port/PdfEngine/GenerateReportServ.jws";
// ...
}
如何告诉axis-maven-plugin使用我们的属性配置文件来查找网址?
这是pom文件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>axistools-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<urls>
<url>http://host:port/PdfEngine/GenerateReportServ.jws</url>
</urls>
<packageSpace>com.company.project.core.pdf.engine</packageSpace>
<outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
</configuration>
<dependencies>
// ...
</dependencies>
<executions>
<execution>
<id>generate-ws-service-impression</id>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
答案 0 :(得分:0)
我没有找到Axis的任何选项来避免这个问题。结果,我决定重写之前由Axis生成的代码。
对我而言,我只需要写几节课。我的代码现在与环境无关。