【发布时间】:2012-01-24 09:22:59
【问题描述】:
我正在调整一个最终包含在我的 aar axis2 Web 服务文件中的文件。我不想每次进行更改时都必须构建整个 aar,有没有一种简单的方法可以替换 aar 文件中的项目?
【问题讨论】:
我正在调整一个最终包含在我的 aar axis2 Web 服务文件中的文件。我不想每次进行更改时都必须构建整个 aar,有没有一种简单的方法可以替换 aar 文件中的项目?
【问题讨论】:
Axis2 AAR 文件只是一个 JAR(就像 WAR 文件是一个 JAR),而一个 JAR 基本上是一个 ZIP 文件。因此,有很多工具可以做到这一点。这取决于您想要什么(GUI 或命令行)以及您使用的操作系统。
【讨论】:
要让 Axis2 工作,您不需要 aar 文件。
services.xml 文件可以是 Axis2 工作的以下任一位置。
存储库/服务/SimpleService/meta-inf/services.xml WEB-INF/services/SimpleService/meta-inf/services.xml
这将帮助我们有一个额外的步骤来生成 aar 文件。
ServiceDeployer.java
* <p>
* Standard Axis2 service Deployer which use services.xml file to build
* services. ServiceDeployer can be used with Axis2 archive (.aar) or exploded
* directory structure. Some of the example formats given below.
* </p>
* <p>Examples : <p>
* <ul>
* <li>repository/services/SimpleService.aar/meta-inf/services.xml</li>
* <li>repository/services/SimpleService/meta-inf/services.xml</li>
* <li>WEB-INF/services/SimpleService.aar/meta-inf/services.xml</li>
* <li>WEB-INF/services/SimpleService/meta-inf/services.xml</li>
* </ul>
InputStream servicexmlStream = serviceClassLoader
.getResourceAsStream("META-INF/services.xml");
if (servicexmlStream == null) {
servicexmlStream = serviceClassLoader.getResourceAsStream("meta-inf/services.xml");
} else {
metainf = "META-INF";
}
https://axis.apache.org/axis2/java/core/apidocs/org/apache/axis2/deployment/ServiceDeployer.html
【讨论】: