OK, I am in agreement with you on how the classes should be structured, stored in different projects, and packaged together. If I take that path, which I would like to take, here is my delimma:
For each logical Use Case I have the following package structure:
/usecase/action - Contains Struts Actions
/usecase/dao - Data Access
/usecase/manager - Connection/Business Logic Management
/usecase/form - Struts Action Forms
/usecase/model - Value Objects
I tried to keep my struts specific packages in the Web project, and move the others to a common Java Project. While this seems ideal, the problem that I run into is that the classes in /model reference classes in /form and vice versa. If I tell Eclipse that the Web project references the Common Java Project and that the Common Java Project references the Web project, I get a cyclical build error message.
I understand the cyclical reference, but I dont understand how else I can split classes out into 2 separate projects that reference each other. Any Suggestions? Thanks for you help!!!