sikuli-driver team mailing list archive
-
sikuli-driver team
-
Mailing list archive
-
Message #15856
Re: [Question #220554]: [HowTo] access Java classes when using one's own jars in Sikuli scripts
Question #220554 on Sikuli changed:
https://answers.launchpad.net/sikuli/+question/220554
Description changed to:
**** SOLUTION
see comment #9
If you need more java classes, that are referenced from inside java
code, you need to use another startup version:
java -cp jar1;jar2;jar3;path-to-sikuli-script.jar
org.sikuli.script.SikuliScript path-to-your-script.sikuli
or using the IDE
java -cp jar1;jar2;jar3;path-to-sikuli-script.jar;sikuli-ide.jar
org.sikuli.IDE.SikuliIDE - r path-to-your-script.sikuli
If you want to use the IDE GUI this way, you need additional Java
options:
java -Xms64M -Xmx512M -Dfile.encoding=UTF-8 -cp jar1;jar2;jar3;path-to-
sikuli-script.jar;sikuli-ide.jar org.sikuli.IDE.SikuliIDE
on Mac and Linux the classpath separator is the colon :
------------------------------------------------------------
I want to invoke a web service in Sikuli. And I have done the following things:
*Use Apache Axis2(wsdl2java) to generate Java code from the web service.
*Write my Java code to invoke the generated code by wsdl2java.
*Test my code in Eclipse, pass.
*Test my code in cmd(java -jar xx.jar), pass.
But when I use it in Sikuli, the problem occurs.
Part of the Sikuli code is like:
load('myown.jar')
load('axis2.jar')
load('other.jar')
from mypackage import MyClass
MyClass().method()
The exception is:
at org.apache.axiom.om.OMAbstractFactory.getMetaFactory(OMAbstractFactory.java:170)
at org.apache.axiom.om.OMAbstractFactory.getMetaFactory(OMAbstractFactory.java:135)
at org.apache.axiom.om.OMAbstractFactory.getOMFactory(OMAbstractFactory.java:184)
at org.apache.axis2.description.AxisDescription.(AxisDescription.java:72)
at org.apache.axis2.description.AxisService.(AxisService.java:323)
at org.apache.axis2.description.AxisService.(AxisService.java:394)
at com.wilson.input.InputServiceStub.populateAxisService(InputServiceStub.java:37)
at com.wilson.input.InputServiceStub.(InputServiceStub.java:94)
at com.wilson.input.InputServiceStub.(InputServiceStub.java:83)
at com.wilson.input.InputServiceStub.(InputServiceStub.java:130)
at com.wilson.input.InputServiceStub.(InputServiceStub.java:122)
at com.wilson.input.InputSimulator.type(InputSimulator.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
org.apache.axiom.om.OMException: org.apache.axiom.om.OMException: No meta factory found for feature 'default'; this usually means that axiom-impl.jar is not in the classpath
Seems that the classpath is not set correctly. I tried to modify the Sikuli-IDE-w.bat, adding '-classpath xxx' to the last 'start' line. But it still failed.
So I want to know how to make this running correctly.
--
You received this question notification because you are a member of
Sikuli Drivers, which is an answer contact for Sikuli.