- About Projects Based on Directories
JDeveloper projects can control their file lists either through .jpr files or directly through the directory.
A project that controls its contents directly through the directory is sometimes called a dynamic project.
A dynamic project determines its contained files (or, children) by scanning its source path and HTML root directory to locate all files under those directories.
A standard project maintains a list of its contained files in the .jpr file.
As files are added to or removed from the project, this list is updated, and the .jpr file itself is updated the next time the project is saved.
In an active multiuser development environment, however, this behavior can be undesirable: as classes are added, moved, or removed by individual developers, problems can arise.
If the shared .jpr file is not source-controlled, each developer's individual copy soon becomes outdated.
If the .jpr file is source-controlled, that file can become a bottleneck and a source of merge conflicts.
A dynamic project never stores a list of its contained files in the .jpr file. Instead, when it is opened, it scans its source path and HTML root directories to determine what its children are.
This display of project children can also be refreshed on demand with View | Refresh. By eliminating the source for most changes to the .jpr file, dynamic projects are particularly useful in shared development environments.
Dynamic projects can also be handy for importing existing code quickly into JDeveloper. Rather than going through the standard import procedures for porting the code into a project, you can simply create a dynamic project and point the project's source path and HTML root to the existing source code