【问题标题】:JWSC ant task with <module> element's explode attribute set to true<module> 元素的 explode 属性设置为 true 的 JWSC ant 任务
【发布时间】:2012-09-21 22:39:27
【问题描述】:

我正在使用 WebLogic JWSC ant 任务从现有 wsdl 生成 WebLogic Web 服务工件。 JWSC 生成所有需要的文件并将它们归档在一个 ear 文件中。

由于我不希望 JWSC 任务创建新的 application.xml,因此我通过指向现有 application.xml 的位置来使用 JWSC 任务的 applicationXml 属性。然后 JWSC 任务通过成功添加新的 &lt;module&gt; 标记来更新 application.xml。在模块标签内有&lt;web-uri&gt; 标签。 web-uri 定义 WAR 文件的位置。到目前为止一切顺利。

如果我将explode 属性设置为true,则任务不会创建ear 文件,而是将所有需要的文件放在一个目录中。 JWSC 任务也更新了指定的 application.xml,但是这一次它将扩展目录的名称放在没有 .war 扩展名的 web-uri 标记中,尽管在这里放一个非 war 文件名是错误的。

正确的格式应该是这样的

<module>
  <web>
    <web-uri>petStore.war</web-uri>
    <context-root>store</context-root>
  </web>
</module>

如果你没有意识到这种情况,WebLogic将找不到指定的war文件(没有.war扩展名)

有谁知道为什么 JWSC 用错误的 web-uri 更新 application.xml 吗?

【问题讨论】:

    标签: web-services ant weblogic jax-rpc


    【解决方案1】:

    我们可以在某个地方有application.xml,当我们创建一个app.xml时,我们会在下面给出property appxml = "${path-original-application.xml}"是sn-p

    <target name="dist-ear" depends="clean-build-webservices">
        <delete file="${build.dir}/META-INF/application.xml"/>
        <copy todir="${build.dir}/META-INF"  overwrite="true">
            <fileset dir="${webservices.resource.dir}">
                <include name="weblogic-application.xml"/>
            </fileset>
        </copy>
        <ear destfile="${dist.dir}/${webservice.name}.ear" appxml="${viwebservices.appxml.location}">
            <fileset dir="${build.dir}" includes="*.war"/>
            <zipfileset dir="${webservices.src.dir}/jdbc" prefix="jdbc"/>
            <metainf dir="${build.dir}/META-INF"/>
        </ear>
    </target>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 2014-05-05
      • 2010-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多