【问题标题】:How to replace file inside an Axis2 generated AAR file?如何替换 Axis2 生成的 AAR 文件中的文件?
【发布时间】:2012-01-24 09:22:59
【问题描述】:

我正在调整一个最终包含在我的 aar axis2 Web 服务文件中的文件。我不想每次进行更改时都必须构建整个 aar,有没有一种简单的方法可以替换 aar 文件中的项目?

【问题讨论】:

    标签: java axis2


    【解决方案1】:

    Axis2 AAR 文件只是一个 JAR(就像 WAR 文件是一个 JAR),而一个 JAR 基本上是一个 ZIP 文件。因此,有很多工具可以做到这一点。这取决于您想要什么(GUI 或命令行)以及您使用的操作系统。

    【讨论】:

      【解决方案2】:

      要让 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

      【讨论】:

        猜你喜欢
        • 2021-05-03
        • 1970-01-01
        • 1970-01-01
        • 2018-09-15
        • 1970-01-01
        • 2017-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多