DEV Community

Shelner
Shelner

Posted on

What are these folders and files in Java Project in IntelliJ IDEA?

1. .idea/

  • Purpose: Stores IntelliJ-specific project settings.
  • Contents: Configuration files for project structure, run configurations, code style, version control settings, etc.
  • Note: Usually added to .gitignore because it's IDE-specific and not needed in source control.

2. .mvn/

  • Purpose: Contains configuration for the Maven Wrapper.
  • Contents: wrapper/ directory with files like maven-wrapper.jar and maven-wrapper.properties.
  • Note: Ensures consistent Maven version across all developers without requiring Maven to be installed system-wide.

3. resources/

  • Purpose: Holds non-Java files used by the app.
  • Typical contents: .fxml files (for JavaFX), images, properties files, etc.
  • Special: Anything here gets copied to target/classes/ during build, and is available on the classpath.
  • e.g.: resources/org.group.demo/hello.fxml
    • Purpose: Example FXML file defining a JavaFX UI layout.
    • Location: Subfolder matches your package name (org.group.demo).
    • Usage: Loaded by FXMLLoader in your controller code.

4. target/

  • Purpose: Build output directory generated by Maven.
  • Contents: Compiled .class files, packaged .jar or .war, reports, etc.
  • Note: Should not be committed to version control.

5. mvnw and mvnw.cmd

  • Purpose: Maven Wrapper scripts.
  • mvnw: For Linux/macOS
  • mvnw.cmd: For Windows.
  • Usage: Run /.mvnw instead of requiring users to install Maven.

6. pom.xml

  • Purpose: The heart of a Maven project.
  • Contains: Project metadata, dependencies, build configuration, plugins, etc.
  • Note: This is where you add JavaFX or other dependencies.

7. External Libraries (in IntelliJ)

  • Purpose: Not a folder, but a visual representation.
  • What it shows:
    • Java SDK
    • Maven dependencies
    • JavaFX libraries (if configured)
  • Helps: You see what external code your project depends on.

Top comments (0)