Layout¶
Fathom applications use a directory structure similar to the one popularized by Play; this directory structure is a combination of convention & configuration.
YourApp
├── pom.xml
└── src
└── main
├── java
│ ├── Launcher.java
│ ├── conf
│ │ ├── Components.java
│ │ ├── Fathom.java
│ │ └── Servlets.java
│ ├── dao
│ │ ├── EmployeeDao.java
│ │ └── ItemDao.java
│ └── models
│ ├── Employee.java
│ └── Item.java
└── resources
└── conf
├── default.conf
├── logback.xml
├── logback-dev.xml
├── master.conf
└── slave.conf
Note
By default, your application package is Java’s default package. In Fathom-Core only the conf
package is based on configuration. All other packages (e.g. dao & models) are convention and have no real meaning.
Configuration of Application Package¶
It’s easy to change the package for your application BUT you must be aware of how that may affect each module that you use. The effect of application.package, if any, is documented in the Layout section of each module documentation.
application {
package = "com.gitblit"
}
Note
The application.package setting affects Java classes, not configuration files. These will still be loaded from the conf
resource directory of your classpath.