{"id":23042948,"url":"https://github.com/akman/javafx-boilerplate","last_synced_at":"2026-04-08T16:31:38.273Z","repository":{"id":39873545,"uuid":"191560404","full_name":"Akman/javafx-boilerplate","owner":"Akman","description":"JavaFX application boilerplate project using gradle and maven build tools. This project aims to cover best practices for JavaFX application development as a whole. It provides tool recommendations for linting, testing and packaging.","archived":false,"fork":false,"pushed_at":"2024-10-26T17:33:25.000Z","size":2236,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-14T22:42:55.923Z","etag":null,"topics":["boilerplate","gradle","java","javafx","maven"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Akman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-12T11:47:14.000Z","updated_at":"2024-11-23T18:14:05.000Z","dependencies_parsed_at":"2024-10-26T19:08:19.954Z","dependency_job_id":"f3b36826-a5b7-44bb-a9de-d30d5651dd66","html_url":"https://github.com/Akman/javafx-boilerplate","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/Akman/javafx-boilerplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akman%2Fjavafx-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akman%2Fjavafx-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akman%2Fjavafx-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akman%2Fjavafx-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akman","download_url":"https://codeload.github.com/Akman/javafx-boilerplate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akman%2Fjavafx-boilerplate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31564853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate","gradle","java","javafx","maven"],"created_at":"2024-12-15T20:37:51.228Z","updated_at":"2026-04-08T16:31:38.256Z","avatar_url":"https://github.com/Akman.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JavaFX Boilerplate Project v0.62.0\n\n[![Build Status][travis_badge]][travis_href]\n[![Code Coverage][codecov_badge]][codecov_href]\n[![Latest Release][release_badge]][release_href]\n[![License][license_badge]][license_href]\n\nJavaFX application boilerplate project using gradle and maven build tools. This project aims to cover best practices for JavaFX application development as a whole. It provides tool recommendations for linting, testing and packaging.\n\n[The source for this project is available here][src_href]\n\n[The latest release for this project is available here][release_href]\n\n[The documentation for this project is available here][docs_href]\n\nYou can use either Gradle or Maven to build this boilerplate project.\n\nMost of the configuration for the Gradle is done in the `build.gradle` file.\nMost of the configuration for the Maven is done in the `pom.xml` file.\n\nYou should edit these files accordingly to adapt this boilerplate project\nto your needs.\n\nThis is the README file for the project.\n\nThe file should use UTF-8 encoding and can be written using\n[GitHub Flavored Markdown][md_href] with the appropriate key set.\nIt will be displayed as the project homepage on common code-hosting services,\nand should be written for that purpose.\n\nTypical contents for this file would include an overview of the project, basic\nusage examples, etc. Generally, including the project changelog in here\nis not a good idea, although a simple \"What's New\" section for the most\nrecent version may be appropriate.\n\nAll tasks are performed from the project directory itself\nwhere placed `gradlew`, `gradlew.bat` and `mvnw`, `mvnw.cmd` files.\n\n## Using the wrappers\n\nIt is recommended to always execute a build with the wrappers to ensure\na reliable, controlled and standardized execution of the build.\nUsing the wrappers looks almost exactly like running the build with\nthe Gradle or the Maven installation. Depending on the operating\nsystem you either run `gradlew` or `gradlew.bat` for the Gradle and\nrun `mvnw` or `mvnw.cmd` for the Maven instead of the `gradle` or `mvn`\ncommand.\n\n## Generate or update maven wrapper\n\nGenerating the wrapper files requires an installed version of the Maven\non your machine.\n\n```console\nmvn wrapper:wrapper\n```\n\nTo switch the version of the Maven used to build a project simply pass in\nthe new version.\n\n```console\nmvn wrapper:wrapper -Dmaven=3.9.9\n```\n\n## Generate or update gradle wrapper\n\nGenerating the wrapper files requires an installed version of the Gradle\non your machine.\n\n```console\ngradle wrapper\n```\n\nTo switch the version of the Gradle used to build a project simply pass in\nthe new version as well as the distribution type, either `all` which includes\nsources and documentation or `bin` which only ships with the binaries.\n\n```console\ngradle wrapper --gradle-version 8.10.2\ngradle wrapper --gradle-version 8.10.2 --distribution-type bin\n```\n\n## Setup maven properties\n\nYou can set settings by export environment variable `MAVEN_OPTS`:\n\n```console\nexport MAVEN_OPTS=\"-Xmx1024m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8\"\n```\n\n## Setup gradle properties\n\nEdit default gradle properties in the file `.gradle/gradle.properties`\nin the user’s home directory.\n\nFor example you can set gradle console output to plain mode, set running\ngradle builds without gradle daemon.\n\n```properties\norg.gradle.daemon = false\norg.gradle.parallel = true\norg.gradle.console = plain\norg.gradle.jvmargs = -Xms512m -Xmx1024m -Dfile.encoding=UTF-8\n```\n\nOr you can set above settings by export environment variable `GRADLE_OPTS`:\n\n```console\nexport GRADLE_OPTS=\"-Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.console=plain -Xms512m -Xmx1024m -Dfile.encoding=UTF-8\"\n```\n\n## Maven build lifecycle\n\nMaven is based around the central concept of a build lifecycle.\nThe build process is clearly defined. There are three built-in build\nlifecycles: `default`, `clean` and `site`.\n\nThe default lifecycle comprises of the following phases:\n\n- `validate` - validate the project is correct\n- `compile` - compile the source code of the project\n- `test` - test the compiled source code\n- `package` - take the compiled code and package it\n- `verify` - run any checks on results of integration tests\n- `install` - install the package into the local repository\n- `deploy` - deploy the final package to the remote repository\n\nEach of a build phase is made up of plugin goals, and this is done\nby declaring the plugin goals bound to those build phases.\n\n## Display available gradle tasks\n\nTo see which tasks are available for your Gradle build you can run:\n\n```console\n./gradlew tasks\n```\n\nBy default only the tasks which are dependencies on other tasks are shown.\nTo see all tasks we must add the command-line option `--all`.\n\n```console\n./gradlew tasks --all\n```\n\nTo see more detail about a task, run:\n\n```console\n./gradlew help --task \u003ctask\u003e\n```\n\n## Clean project\n\nClean build.\n\n```console\n./gradlew clean\n```\n\n```console\n./mvnw clean\n```\n\n## Check project\n\nRun all checks.\n\n```console\n./gradlew check\n```\n\n```console\n./mvnw verify\n```\n\nThe following plugins are used to check the project:\n\n- license\n- checkstyle\n- pmd/cpd\n- spotbugs\n- codenarc\n\nYou can use all of these tools separately.\n\n### License\n\nLicense plugin will scan and adapt your source files to include a provided\nheader, e.g. a LICENSE file. By default it will scan every source set and\nreport warnings. It will also create format tasks, which will properly format\nand apply the specified header. This plugin will also report on the licenses\nof your dependencies.\n\nCheck for header consistency.\n\n```console\n./gradlew license\n```\n\n```console\n./mvnw validate license:check\n```\n\nApply the license found in the header file in files missing the header.\n\n```console\n./gradlew licenseFormat\n```\n\n```console\n./mvnw validate license:format\n```\n\nGenerate reports on your runtime dependencies.\n\n```console\n./gradlew downloadLicenses\n```\n\n### CheckStyle\n\nThe Checkstyle plugin performs quality checks on your project’s Java source\nfiles using Checkstyle and generates reports from these checks.\n\n```console\n./gradlew checkstyleMain checkstyleTest\n```\n\n```console\n./mvnw checkstyle:check\n```\n\n### PMD/CPD\n\nThe PMD/CPD plugin performs quality checks on your project’s Java source files\nusing PMD/CPD and generates reports from these checks.\n\n```console\n./gradlew pmdMain pmdTest cpdCheck\n```\n\n```console\n./mvnw pmd:check pmd:cpd-check\n```\n\n### SpotBugs\n\nSpotBugs plugin performs static analysis to look for bugs in Java code using\nSpotBugs and generates reports from these analysis.\n\n```console\n./gradlew spotbugsMain spotbugsTest\n```\n\n```console\n./mvnw spotbugs:check\n./mvnw spotbugs:gui\n```\n\n### CodeNarc\n\nThe CodeNarc plugin performs quality checks on your project’s Groovy source\nfiles using CodeNarc and generates reports from these checks.\n\n```console\n./gradlew codenarcMain codenarcTest\n```\n\n```console\n./mvnw antrun:run@codenarc\n```\n\n## Unit testing\n\nRun unit tests:\n\n```console\n./gradlew test\n```\n\n```console\n./mvnw test\n```\n\nThe JaCoCo plugin provides code coverage metrics for Java code via\nintegration with JaCoCo.\n\n## Reports\n\nGenerate reports:\n\n```console\n./gradlew projectReport buildDashboard\n```\n\n```console\n./mvnw validate site\n```\n\n## Build project\n\nBuild this project\n\n```console\n./gradlew clean build\n```\n\n```console\n./mvnw clean verify\n```\n\n## Run\n\n```console\n./gradlew run\n./gradlew run --args=\"--gui --debug\"\n```\n\n```console\n./mvnw exec:exec\n```\n\n## Distribute\n\nCreate modular runtime image with installer:\n\n```console\n./gradlew jpackage\n```\n\n```console\n./mvnw validate jlink:jlink jpackage:jpackage@image jpackage:jpackage@installer\n```\n\n## Project dependencies\n\nDisplays all dependencies declared in project.\n\n```console\n./gradlew dependencies\n```\n\n```console\n./mvnw dependency:tree\n```\n\nDiscover dependency updates\n\n```console\n./gradlew dependencyUpdates -Drevision=release\n```\n\n```console\n./mvnw versions:display-dependency-updates\n```\n\n## Project properties\n\nDisplay the properties of the project.\n\n```console\n./gradlew properties\n```\n\n```console\n./mvnw help:effective-settings\n./mvnw help:effective-pom\n./mvnw help:system\n./mvnw help:all-profiles\n```\n\n## Release project\n\n```console\n./gradlew release\n```\n\n```console\n./mvnw release:clean release:prepare release:perform\n```\n\n## Pull request\n\nPull request template: [.github/pull_request_template.md][pull_request_href].\n\n[travis_badge]: https://app.travis-ci.com/akman/javafx-boilerplate.svg?branch=master\n[travis_href]: https://app.travis-ci.com/akman/javafx-boilerplate\n[codecov_badge]: https://codecov.io/gh/akman/javafx-boilerplate/branch/master/graph/badge.svg\n[codecov_href]: https://codecov.io/gh/akman/javafx-boilerplate\n[release_badge]: https://img.shields.io/github/downloads/akman/javafx-boilerplate/latest/total.svg\n[release_href]: https://github.com/akman/javafx-boilerplate/releases/latest\n[license_badge]: https://img.shields.io/github/license/akman/javafx-boilerplate.svg\n[license_href]: https://github.com/akman/javafx-boilerplate/blob/master/LICENSE\n[src_href]: https://github.com/akman/javafx-boilerplate\n[docs_href]: https://akman.github.io/javafx-boilerplate\n[md_href]: https://help.github.com/articles/basic-writing-and-formatting-syntax\n[pull_request_href]: https://github.com/akman/javafx-boilerplate/blob/master/.github/pull_request_template.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakman%2Fjavafx-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakman%2Fjavafx-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakman%2Fjavafx-boilerplate/lists"}