-
Bug
-
Resolution: Done
-
Major
-
2.2.6.Final, 2.2.14.Final
-
None
-
None
If the indexUrlString that is used in JandexIndexBeanArchiveHandler.loadJandexIndex(String s) contains a '%' sign, an IllegalArgumentException is thrown.
Having a '%' in an URL that is not meant to escape some character (like %20 for space) is totally fine both on Windows and Unix machines.
Executing java.net.URL.openStream(), as it happens in the JandexIndexBeanArchiveHandler.loadJandexIndex(String s), leads to execution of sun.net.www.ParseUtil.decode(String s) which expects an encoded URL string. If the URL is not encoded, a NumberFormatException is catched by sun.net.www.ParseUtil and an IllegalArgumentException is thrown.
Therefore, the URL should be encoded (possibly by using the java.net.URLEncoder) before trying to call the openStream method.
I found another Issue with a similar title but missing description: https://issues.jboss.org/browse/WELD-1987