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. Because executing Executing the openStream method of a _java.net.URL_ , 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
|