我们正在RAD(7.0.0.x)中开发Websphere 6.1。在我们的蚂蚁脚本中,我们有以下内容:
<!-- *************************************************** -->
<!-- ** Generate WebService Client classes -->
<!-- *************************************************** -->
<target name="-generate-classes" if="ejbmodulesrcdir.exists">
<wsdl2java url="${ejbmodule.src.dir}/META-INF/wsdl/TransportationWebService.wsdl" output="${java.genSrc.dir}" role="client" container="none" introspect="false" genjava="true" verbose="true" />
<echo>Transportation WS Client classes generated successfully</echo>
</target>
在RAD环境中执行目标时,没有问题。但是,当我们作为无头蚂蚁脚本运行时,我们会看到以下错误:
HeadlessWorkspaceSettings: INITIAL autoBuild=true maxFile=1048576
HeadlessWorkspaceSettings: TEMP autoBuild=false maxFile=-1
Buildfile: buildWebServiceClientClasses.xml
genTransportationWSClientClasses:
[wsdl2java] java.lang.ExceptionInInitializerError
[wsdl2java] at java.lang.J9VMInternals.initialize(J9VMInternals.java:218)
[wsdl2java] at sun.misc.Unsafe.ensureClassInitialized(Native Method)
[wsdl2java] at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
[wsdl2java] at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:150)
[wsdl2java] at java.lang.reflect.Field.acquireFieldAccessor(Field.java:962)
[wsdl2java] at java.lang.reflect.Field.getFieldAccessor(Field.java:929)
[wsdl2java] at java.lang.reflect.Field.get(Field.java:388)
[wsdl2java] at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:168)
[wsdl2java] at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:112)
[wsdl2java] at com.ibm.ejs.models.base.extensions.transappclientext.impl.TransactionAppClientExtPackageImpl.init
还有更多行不确定我是否应该将它们全部发布在这里。
已完成搜索,但无法找到任何内容。任何方向 - 看错了什么?
Thyanks
答案 0 :(得分:0)
无头构建盒的Java版本是否低于您在自己的盒子上使用的版本?
无头构建盒上是否有所有必需的罐子?
也许最好不自动化流程的Wsdl2Java阶段,而是手动完成并将生成的源代码存储在版本控制中呢?
答案 1 :(得分:0)
我的猜测是它与构建框上的类路径问题有关。另见:http://www.mail-archive.com/user-java@ibatis.apache.org/msg12634.html