title: Are there best practices for (Java) package organization?
body: <p>A little while ago, I saw a question answered here regarding the fine-grained organization of java packages.  For example, <code>my.project.util</code>, <code>my.project.factory</code>, <code>my.project.service</code>, etc.</p>
  
  <p>I can't find it now, so I may as well ask the question.</p>
  
  <p>Are there best practices with regards to the organization of packages in Java and what goes in them?</p>
  
  <p>How do you organize your classes in your Java project?  </p>
  
  <p>For instance, a project I'm working on with a few people has a package called beans. It started out being a project containing simple beans, but has ended up (through poor experience and lack of time) containing everything (almost).  I've cleaned them up a little, by putting some factory classes in a factory package (classes with static methods that create beans) but we have other classes that do business logic and others that do simple processing (not with business logic) like retrieving a message for a code from a properties file.</p>
  
  <p>Your thoughts and comments are appreciated.</p>