Martin Grigorov created WICKET-5713:
---------------------------------------

             Summary: Move /wicket.properties to /META-INF/wicket/xyz.properties
                 Key: WICKET-5713
                 URL: https://issues.apache.org/jira/browse/WICKET-5713
             Project: Wicket
          Issue Type: Improvement
          Components: wicket
    Affects Versions: 6.17.0
            Reporter: Martin Grigorov
            Assignee: Martin Grigorov
            Priority: Minor


As found at http://markmail.org/message/gzychpjelr4eshly the current location 
of wicket.properties (at the root of the classpath entry) is problematic when 
an uberjar is used because usually the developer doesn't know how 
org.apache.wicket.IInitializer works and doesn't add code to merge the contents 
of all wicket.propeties files in the classpath into one.

But even if the developer tried to merge them then it will fail again because 
org.apache.wicket.Application#load(Properties) doesn't expect more than one 
value per key, e.g. separated by comma.

Garret Wilson suggested to move /wicket.properties files in /META-INF/wicket/ 
and use more qualified names, e.g. org.apache.wicket.core.properties.

The first problem is that there are no JRE and Servlet APIs to find such files 
easily. We need to scan the classpath to be able to find them and load them.
Is this costly ?
https://github.com/ronmamo/reflections is wildly used library that provides 
this functionality (and much more) and it is using the same logic and seems to 
be quite fast!

So let's give it a try!

We should still support /wicket.properties for backward compatibility. We can 
log a WARN message when such is found and suggest to be moved in 
/META-INF/wicket/ 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to