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 {{java .net. URL_ URL}} , as it happens in the _JandexIndexBeanArchiveHandler {{JandexIndexBeanArchiveHandler .loadJandexIndex(String s) _ }} , leads to execution of _sun {{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 {{sun .net.www. ParseUtil_ ParseUtil}} and an _IllegalArgumentException_ {{IllegalArgumentException}} is thrown.
Therefore, the URL should be encoded (possibly by using the _java {{java .net. URLEncoder_ 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
|