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 likemaven-wrapper.jar
andmaven-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)