ant java eclipse_关于java:通过ant生成eclipse的Web服务

我正在尝试使用ant从现有代码到war文件生成Web服务。 Eclipse生成了一个完整的ant生成文件(axis_bujava.xml),该文件可以工作(但并非始终生成undeploy.wsdd,我不知道为什么),但是仅当我从eclipse运行它时才如此。

我想要一个独立的脚本来生成我的Web服务(并将其打包到warfile中,但这不是问题^^)

我从eclipse plugins文件夹中添加了一些jar文件到类路径中,并创建了任务" wsgen",但没有得到"空指针异常"。

我的axis_bujava.xml:

classname="ws.ant.task.WebServiceGenerationAntTask"

classpath="${ant.library.dir}/org.eclipse.wst.command.env"

/>

错误 :

D:\Dev\S_Demo\ant\axis_bujava.xml:22: java.lang.NullPointerException

at org.eclipse.wst.command.internal.env.context.PersistentContext.(PersistentContext.java:31)

at org.eclipse.wst.command.internal.env.context.PersistentResourceContext.(PersistentResourceContext.java:36)

at org.eclipse.wst.command.internal.env.context.PersistentResourceContext.getInstance(PersistentResourceContext.java:27)

at org.eclipse.wst.command.internal.env.ant.AntController.(AntController.java:56)

at ws.ant.task.WebServiceGenerationAntTask.execute(WebServiceGenerationAntTask.java:31)

at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)

at org.apache.tools.ant.Task.perform(Task.java:348)

at org.apache.tools.ant.Target.execute(Target.java:435)

at org.apache.tools.ant.Target.performTasks(Target.java:456)

at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)

at org.apache.tools.ant.Project.executeTarget(Project.java:1364)

at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)

at org.apache.tools.ant.Project.executeTargets(Project.java:1248)

at org.apache.tools.ant.Main.runBuild(Main.java:851)

at org.apache.tools.ant.Main.startAnt(Main.java:235)

at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)

at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

Total time: 0 seconds

安装旧版本! 较新的版本存在很多错误,即使大多数情况下全新安装也无法从"新建"菜单创建Web服务! 忘记自动化!

是的,有很多错误...我通过直接使用轴生成器(例如:org.apache.axis.wsdl.Java2WSDL),通过蚂蚁任务" exec"来启动Java(不适用于Java任务... )。 谢谢您的回复 !

很好,我建议回答您的问题,祝您好运:)

正如我在评论中所说,我通过直接使用Axis类(如Eclipse)解决了这个问题:

重要说明:使用的Ant版本:

Apache Ant(TM) version 1.9.2 compiled on July 8 2013

1,依赖项(最小列表,在执行时将它们添加到ant classpath中):

axis.jar

axis-ant.jar

2,Ant build.xml:

从axis-ant.jar获取任务

resource="axis-tasks.properties"

/>

在目标中:

生成wsdl文件

注意:如果不起作用,请使用org.apache.axis.wsdl.Java2WSDL,类似于下一点,并且都具有" -h"选项以寻求帮助

output="WebContent/WEB-INF/NameOf.wsdl"

namespace="http://org.acme.com"

style="WRAPPED"

location="http://localhost/MyService/service/MyServiceImpl"

classname="com.acme.org.MyServiceImpl"

classpath="build/classes"

/>

生成deploy / undeploy.wsdd文件

直接使用" java"是因为在我的情况下,Axis-ant的ant任务不起作用。 和exec任务,我在Java任务中遇到一些问题(由于ant版本)

生成server-config.wsdd

清理生成的jar文件

干得好,我们尝试了玻璃鱼,它也很好!

不错! 并与ant 1.9.7一起使用

现在,如果有人知道如何使用CXF而不是Axis ...(具有兼容性,我不想修改客户端应用程序)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值