I suggest you set up as follows:
- Use no default properties
- Keep properties for unit testing in the test resources
- Keep properties for test, stage and production environments as files in external directories.
This way, you can update properties without rebuilding the project (touching the anchor file is enough). Also, potentially sensitive properties can be kept secret.
Another approach would be to use the Constretto project and have all properties in the same file, if that is acceptable.
One of my colleagues has created a configuration project on github for a setup with support for environment-based properties files on Mule ESB. Get some inspiration there, or just use the project as-is.