{"id":21991438,"url":"https://github.com/janix520/javafx-template-native","last_synced_at":"2025-03-23T03:28:39.801Z","repository":{"id":237209287,"uuid":"794040198","full_name":"Janix520/JavaFX-Template-Native","owner":"Janix520","description":"javafx快速模版，支持jdk14+，支持一键打包为native的exe、dmg等","archived":false,"fork":false,"pushed_at":"2024-06-10T15:56:07.000Z","size":37375,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T09:47:25.507Z","etag":null,"topics":["javafx","package"],"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/Janix520.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":"2024-04-30T10:45:24.000Z","updated_at":"2024-06-20T13:50:14.000Z","dependencies_parsed_at":"2024-04-30T12:26:22.441Z","dependency_job_id":"09b4dd1a-652c-4574-8a61-b707f1660fc1","html_url":"https://github.com/Janix520/JavaFX-Template-Native","commit_stats":null,"previous_names":["janix520/javafx-template-native"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Janix520%2FJavaFX-Template-Native","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Janix520%2FJavaFX-Template-Native/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Janix520%2FJavaFX-Template-Native/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Janix520%2FJavaFX-Template-Native/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Janix520","download_url":"https://codeload.github.com/Janix520/JavaFX-Template-Native/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245052623,"owners_count":20553161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["javafx","package"],"created_at":"2024-11-29T20:09:24.128Z","updated_at":"2025-03-23T03:28:39.779Z","avatar_url":"https://github.com/Janix520.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## JavaFX-Template-Native\n- 集成jfoenix、commons-math、commons-lang3、netty，方便一些和底层做通信使用，不需要可以自行pom中去掉依赖\n- 当前使用的jdk17，理论上jdk14+都支持\n- 采用模块化，支持一键打包生成很小的exe（目前30M，不带依赖也就20M左右）\n- maven构建\n    \n---\n\n![LOGO](./src/main/resources/com/rocoplayer/app/icon/icon.png)\n\n# 介绍\n\n\u003e 项目灵感来源[javafx-boot](https://gitee.com/westinyang/javafx-boot?_from=gitee_search)，对于新的jdk，项目无法直接生成exe，所以研究了一下，发现jdk其实一直在优化gui方面的打包，从jdk14已经原生支持native打包了，并且将虚拟机以模块打包进exe，这将给java开发者带来极大的便利，当然也是支持一键打包MAC等\n\n# 打包\n- 绿色版 mvn clean javafx:jlink exec:exec@image\n- 安装包 mvn clean javafx:jlink exec:exec@installer\n\n- 注意事项，修改pom.xml中javahome路径以及名称\n\n```\n    \u003c!--JAVA_HOME路径--\u003e\n    \u003cjavahome.path\u003eD:/myProgram/jdk-17.0.7\u003c/javahome.path\u003e\n    \u003c!-- 打包、镜像 统一名称 --\u003e\n    \u003cpkg.imagename\u003eJavaFx-APP\u003c/pkg.imagename\u003e\n    \u003c!-- 厂商 --\u003e\n    \u003cpkg.vendor\u003exxx有限公司\u003c/pkg.vendor\u003e\n    \u003c!-- 描述 --\u003e\n    \u003cpkg.description\u003eJavaFx-APP-Demo\u003c/pkg.description\u003e\n    \u003c!-- 版权 --\u003e\n    \u003cpkg.copyright\u003erocoplayer.com\u003c/pkg.copyright\u003e\n    \u003c!-- 版本号 --\u003e\n    \u003cpkg.version\u003e1.0.0\u003c/pkg.version\u003e\n```\n\n```\n注意，由于是模块化，有些第三方库需要open或者export，当需要配置options的时候，打包插件中的java-options也要保持一样，java-options等于是exe运行时的参数。\n\n如需要打包MAC，自行将\n\u003cargument\u003e-t\u003c/argument\u003e\n\u003cargument\u003eexe\u003c/argument\u003e\n改成需要的格式，参考jdk的jpackage支持的打包格式\n```\n\n\n- 启动应用 `.\\target\\nativeBuild\\*.exe`\n\n# 项目配置（app.properties）\n\n```properties\ntitle=JavaFX-Template-Native-Application\nicon=icon/icon.png\nstage.width=640\nstage.height=440\nstage.resizable=true\n```\n\n# 其他版本分支\n```\n需要引入javacv版本的请查看javacv分支\n```\n\n\n# 项目截图\n![截图](./screenshot/01.png)\n\n# 参与贡献\n\n1.  Fork 本仓库\n2.  新建 Feat_xxx 分支\n3.  提交代码\n4.  新建 Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanix520%2Fjavafx-template-native","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanix520%2Fjavafx-template-native","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanix520%2Fjavafx-template-native/lists"}