在Netbeans中编译时,我的Axis 1.4项目在目标计算机上正确运行。但是,如果我使用自己的Ant构建脚本(成功完成)编译项目,则应用程序在源代码行冻结:
Call call = (Call) service.createCall();
Ant javac任务的详细输出表明在编译java源文件的类时,加载了来自jaxrpc.jar的Call.class,而不是来自axis.jar的Call.class。
我确保在编译类路径中的jaxrpc.jar之前列出了axis.jar。
这似乎是一个依赖性问题,在我的编译版本中没有正确解决...我做错了什么?
答案 0 :(得分:1)
[求助] - 抱歉浪费每个人的时间!我刚刚发现了我的问题,它实际上与目标机器上的app-launch脚本上的Classpath有关。而且因为基于Netbeans的JAR包含一个Classpath设置 - 这个JAR可以工作!由我的Ant脚本创建的那个,没有指定类路径,而是依赖于在java启动命令中有一个准确的Classpath定义......
BTW,我之所以认为引用了错误的类是因为:1。 - 运行时没有抛出ClassNotFound错误,而且2.我的Ant脚本中的javac任务的详细输出列出了jaxrpc Call.class在编译使用此Call对象的实例的类文件时被“加载”,而不是Call.class的导入(和预期)轴实现(jaxrpc接口的实现)。