I don't do it. To my feeling, the queries belong to the code. So I want them as close to the code as possible. It makes things easier to understand. I do externalize internationalization-sensitive things, like messages.
I find it useful to put things that might change, like the schema name, in a property file. If the queries are highly static, it could make sense to put them in a property file.
I tend to do more dynamic queries and like them closer to the code. Also, if I change the query, I usually need to change the code (prepared statement or resultset), so it's helpful to have them in the same place.