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 the openStream method of a {{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
|