# ProjectDirectory

Represents a java project directory. Use if you want to generate a Java project with a build tool included (maven, gradle etc).

* jsx

  ```tsx
  import { ProjectDirectory } from "@alloy-js/java";


  <ProjectDirectory
    gradleProjectConfig={GradleProjectConfig}
    mavenProjectConfig={MavenProjectConfig}
    name="string"
  >
    {children}
  </ProjectDirectory>
  ```

* stc

  ```ts
  import { ProjectDirectory } from "@alloy-js/java/stc";


  ProjectDirectory({
    gradleProjectConfig: GradleProjectConfig,
    mavenProjectConfig: MavenProjectConfig,
    name: string,
  }).children(children)
  ```

## Props

|                     |                                                                  |                                                                                                              |
| ------------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| children            | optional [Children](../../../core/types/children/)               |                                                                                                              |
| gradleProjectConfig | optional [GradleProjectConfig](../../types/gradleprojectconfig/) |                                                                                                              |
| mavenProjectConfig  | optional [MavenProjectConfig](../../types/mavenprojectconfig/)   | Specify project configuration for either maven or gradle. If not specified, will create generic Java project |
| name                | string                                                           |                                                                                                              |
