Here is the problem in a nutshell: Java EE architecture best practices will tell you that you need to modulize your code. That means that a given developer is working on a project specific that a given problem (use case or whatever). The rest of the project is not needed – at least not the source code.
In JDeveloper that means having a large application split into smaller applications (or workspaces). Each workspace produces a jar file which a EAR-file and deployed. This approach is best described in Sten Vesterlis book “Oracle ADF Enterprise Application Development – Made Simple”.