Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-5713

Move /wicket.properties to /META-INF/wicket/xyz.properties



    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 6.17.0
    • Fix Version/s: 7.0.0-M4
    • Component/s: wicket
    • Labels:


      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/


          Issue Links



              • Assignee:
                mgrigorov Martin Tzvetanov Grigorov
                mgrigorov Martin Tzvetanov Grigorov
              • Votes:
                0 Vote for this issue
                6 Start watching this issue


                • Created: