I have an application which comes bundled with its own JRE (1.6), while my system has Java 1.8 installed by default. I've installed JAB 2.0.2 in the 1.6 JRE and have tested it using Java Monkey and Java Ferret - and everything works (elements are being recorded). JRE 1.8 has JAB already within in, and it also works. This was all tested using SwingSet2.jar.
However, when trying to spy elements in BP, even though I see Java mode enabled and yellow boxes moving around, I keep getting the following error after selecting any element:
System.ApplicationException: Exception getting Java Identfier KeyBindings Exception: Index was outside the bounds of the array.
at BluePrism.AMI.clsAMI.Spy(clsElementTypeInfo& elementType, List`1& identifiers)
at Automate.frmIntegrationAssistant.HandleSpyOrLaunchClick(Object sender, EventArgs e)
When I try to use the Application Navigator:
BluePrism.BPCoreLib.BluePrismException: Failed to get snapshot - ERROR - ERROR:Exception getting Java Identfier KeyBindings Exception: Index was outside the bounds of the array.
at BluePrism.AMI.clsAMI.GetElementTree(String mode, Boolean includeInvisible, clsProgressMonitor monitor, String snapshot)
at Automate.frmApplicationTreeNavigator.DoRefreshTreeWork(Object sender, DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
I'm launching SwingSet2 as suggested in the documentation - in external 64 bit mode and using the "descendtree" parameter.
Could this problem be caused by the different JREs present? My goal is to use JRE 1.6 (bundled with the application), as it's required for the app to run. How can I specify to BP which JRE to use when spying an application?