I am using phantomjs for headless browser testing. I call phantomjs from within my java file (MainTest.java). The code runs fine in my local machine. I bundle both the phantomjs.exe and the calling java file inside a jar file (tetsPhantom.jar).
- testPhantom.jar
- phantomjs.exe
- MainTest.java
On the server, it is failing when it tries to find the phantomjs executable path:
String webDir = LiExportEmails.class.getProtectionDomain().getCodeSource().getLocation().toExternalForm(); // Returns http://myservername.com:8080/testPhatom.jar
System.setProperty("phantomjs.binary.path", webDir);
I have tried setting it to http://myservername.com:8080/testPhatom.jar!phantomjs.exe
as well, but it still fails.
What should be the correct path of phantomjs located inside the same jar file as the caller?