Weblogic Ant JWSC 任务生成 webservice war 文件
Posted
技术标签:
【中文标题】Weblogic Ant JWSC 任务生成 webservice war 文件【英文标题】:Weblogic Ant JWSC task to generate a webservice war file 【发布时间】:2011-06-02 19:48:23 【问题描述】:我正在运行一个 jwsc ant 任务来生成一个 war 文件。如果我在运行 ant 脚本(CLASSPATH=/opt/bea/weblogic91/server/lib/weblogic.jar export CLASSPATH)之前将 weblogic.jar 添加到类路径,这对我来说工作正常
但是,如果我在 build.xml 中添加如下内容,则无法正常工作:
<target name="GenerateWarFiles">
<path id="lib.jwsc.id">
<pathelement path="/opt/bea/weblogic91/server/lib/weblogic.jar"/>
</path>
<taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask" classpathref="lib.jwsc.id"/>
<jwsc srcdir="$src.java.dir" destdir="$build.war.file.dir" verbose="on" debug="on" classpathref="lib.jwsc.id">
<jws file="sep/com/bt/prf/jws/TypeImpl.java" compiledWsdl="$ivy.lib.dir/WSDLC/Jwslib-8.0.jar" />
</jwsc>
</target>
我收到以下错误。
[AntUtil.deleteDir] Deleting directory /var/tmp/_927vxb
BUILD FAILED
/wls_domains/CIT/cruisecontrol-bin-2.8.3/util/Ivy/build.xml:231: Deployment descriptor: /var/tmp/_927vxb/web.xml does not exist.
at weblogic.wsee.tools.anttasks.JwscTask.execute(JwscTask.java:184)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.apache.tools.ant.Main.runBuild(Main.java:698)
at org.apache.tools.ant.Main.startAnt(Main.java:199)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: Deployment descriptor: /var/tmp/_927vxb/web.xml does not exist.
at org.apache.tools.ant.taskdefs.War.setWebxml(War.java:95)
at weblogic.wsee.tools.anttasks.JwscTask.jar(JwscTask.java:397)
at weblogic.wsee.tools.anttasks.JwscTask.pkg(JwscTask.java:331)
at weblogic.wsee.tools.anttasks.JwscTask.execute(JwscTask.java:166)
... 17 more
--- Nested Exception ---
Deployment descriptor: /var/tmp/_927vxb/web.xml does not exist.
at org.apache.tools.ant.taskdefs.War.setWebxml(War.java:95)
at weblogic.wsee.tools.anttasks.JwscTask.jar(JwscTask.java:397)
at weblogic.wsee.tools.anttasks.JwscTask.pkg(JwscTask.java:331)
at weblogic.wsee.tools.anttasks.JwscTask.execute(JwscTask.java:166)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.apache.tools.ant.Main.runBuild(Main.java:698)
at org.apache.tools.ant.Main.startAnt(Main.java:199)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Total time: 1 minute 3 seconds
我在 Solaris 中运行 weblogic91。
【问题讨论】:
【参考方案1】:我敢打赌,在您的部署目标中(此处未发布)正在尝试“清理”部署目录,并且在找不到名为 /var/tmp/_927vxb/web.xml
的文件时失败
3 条建议:
从命令行运行touch /var/tmp/_927vxb/web.xml
并尝试再次运行构建/部署。这将创建一个空文件,至少可以让您通过删除错误时找不到的文件。这不是一个长期的解决方案,而是试图揭露真正的问题。
查看 /wls_domains/CIT/cruisecontrol-bin-2.8.3/util/Ivy/build.xml
文件中的第 231 行。也许有一个delete
ant 任务是failing on error
。如果是这种情况,请将 `failonerror="false" 添加到导致问题的 ant 任务中。
在此处发布更多构建文件。能够将文件中的行号与错误对齐将有助于解决问题。
【讨论】:
嗨,我尝试运行第一个和第二个建议。构建成功但没有生成war文件。我正在粘贴构建输出的最后三行 [AntUtil.deleteDir] 删除目录 /var/tmp/_927vxb0 [jwsc] JWS 编译失败:部署描述符:/var/tmp/_927vxb0/web.xml 不存在。构建成功总时间:1 分 2 秒这是我的 build.xml。只有一项任务失败,其余所有任务都通过。 看来我需要您执行建议 3 才能更进一步。堆栈跟踪有帮助,但没有更多的构建文件可以闲逛,这对我来说有点像黑匣子。不管你做什么,祝你好运以上是关于Weblogic Ant JWSC 任务生成 webservice war 文件的主要内容,如果未能解决你的问题,请参考以下文章
在 Weblogic 10.3 上使用 ant 部署 WAR 时出现“Java 堆空间”错误
Ant+Weblogic - CreateProcess 错误=206
基于ant自动部署ear/war 文件到weblogic12c
linux weblogic12c部署web项目的jar包没加载。jar包都是在xxx项目名/WE