// Module included in the following assemblies:
//
// * operators/operator_sdk/java/osdk-java-project-layout.adoc

:_content-type: REFERENCE
[id="osdk-java-project-layout_{context}"]
= Java-based project layout

Java-based Operator projects generated by the `operator-sdk init` command contain the following files and directories:

[options="header",cols="1,4"]
|===

|File or directory |Purpose

|`pom.xml`
|File that contains the dependencies required to run the Operator.

|`<domain>/`
|Directory that contains the files that represent the API. If the domain is `example.com`, this folder is called `example/`.

|`MemcachedReconciler.java`
|Java file that defines controller implementations.

|`MemcachedSpec.java`
|Java file that defines the desired state of the Memcached CR.

|`MemcachedStatus.java`
|Java file that defines the observed state of the Memcached CR.

|`Memcached.java`
|Java file that defines the Schema for Memcached APIs.

|`target/kubernetes/`
|Directory that contains the CRD yaml files.

|===
