在编写Web Service的时候,为了方便开发,用到了Axis2的Code Generator,不过在使用的时候,无论是从WSDL生成Java代码,还是从Java代码生成WSDL文件,在finish的时候,都会出现InvocationTargetException的错误。困扰了我很久,也找了很多资料,都没有有效的解决这个问题。其中看到了有个解决办法是:
将AXIS2_HOME/lib下的backport-util-concurrent-3.1.jar拷贝到Eclipse目录下Plugins下Axis2_Codegen_Wizard_1.3.0/lib下。然后在该目录下的plugin.xml的runtime节点中加入
<library name="lib/backport-util-concurrent-3.1.jar">
<export name="*"/>
</library>
,之后重新启动Eclipse。我照做了,没解决。然后,我根据以往的经验,又加入-clean参数,还是有问题。最后又加入了-vm "C:/Java/jdk1.6.0/bin/javax.exe"做为启动参数(注意,这是Myeclipse的启动参数),发现问题解决了。
我的环境如下:
JDK 1.6
Myeclipse 6.01(Eclipse 3.3)
Axis2 1.4
本来的启动参数是-vm "%MYECLIPSE_HOME%/jre/bin/javax.exe"替换它就行了。
希望能给遇到此类问题的朋友帮上忙。