sikuli-driver team mailing list archive
-
sikuli-driver team
-
Mailing list archive
-
Message #58039
[Bug 1960350] Re: [2.0.5] ImagePath: using a class as folder reference does not work when running a jar containing the images
** Changed in: sikuli
Status: In Progress => Fix Committed
** Changed in: sikuli
Importance: High => Critical
** Summary changed:
- [2.0.5] ImagePath: using a class as folder reference does not work when running a jar containing the images
+ [2.0.5] ImagePath: using a class as folder reference does not work when running a jar containing the images --- fixed in. 2.0.6
--
You received this bug notification because you are a member of Sikuli
Drivers, which is subscribed to SikuliX.
https://bugs.launchpad.net/bugs/1960350
Title:
[2.0.5] ImagePath: using a class as folder reference does not work
when running a jar containing the images --- fixed in. 2.0.6
Status in SikuliX:
Fix Committed
Bug description:
tracked on Github: https://github.com/RaiMan/SikuliX1/issues/511
-----------------------------
Hi , i tried to locate the image path using ("someClass/images"), but fail to add it in the image path. Only target/classes folder is added. the sub folder is not added...
My Project Structure
src
-main
--java
--JarMainClass
-resources
--images
---app2
----image1.png
Code:
public class JarMainClass {
public static void main(String[] args) throws IOException, URISyntaxException, FindFailed {
System.out.println("Hello!");
ImagePath.add("JarMainClass/images/app2");
System.out.println("1: "+ImagePath.getPaths());
}
Console:
[ERROR Commons] parameter(main: JarMainClass/images/app2, sub: null)
[ERROR Commons] makeURL: file does not exist: C:\Users\winnie.choi\Documents\testproject\JarMainClass\images\app2
[ERROR Commons] parameter(main: file:/C:/Users/winnie.choi/Documents/testproject/target/classes/, sub: images/app2)
[ERROR Commons] makeURL: URL protocol not implemented
1: [null, C:\Users\winnie.choi\Documents\testproject\target\classes]
Environment
sikulixapi: 2.0.5
java: 1.8
OS: Windows Server 2012 R2
Maven
---------
I am able to add path by providing absolute path (e.g. src/main/resources/images/app2) or using ClassLoader.getSystemResource("images/app2").getPath() when running in the IDE. But i am unable to add the image path when running the exported jar. following is logged when trying to access the path by getResource() function
[ERROR Commons] parameter(main: file:\C:\Users\winnie.choi\Documents\jar\jar-with-dependencies.jar!\images\app2, sub: null)
[ERROR Commons] makeURL: mainFile.getCanonicalFile().toURI().toURL(): C:\Users\winnie.choi\Documents\jar\file:\C:\Users\winnie.choi\Documents\jar\jar-with-dependencies.jar!\images\app2 (The filename, directory name, or volume label syntax is incorrect)
[ERROR Commons] parameter(main: file:\C:\Users\winnie.choi\Documents\jar\jar-with-dependencies.jar!\images\app2, sub: null)
[ERROR Commons] makeURL: file does not exist: C:\Users\winnie.choi\Documents\jar\file:\C:\Users\winnie.choi\Documents\jar\jar-with-dependencies.jar!\images\app2
path:[null]
To manage notifications about this bug go to:
https://bugs.launchpad.net/sikuli/+bug/1960350/+subscriptions
References