{"id":3592,"date":"2023-08-11T12:19:06","date_gmt":"2023-08-11T04:19:06","guid":{"rendered":"https:\/\/www.zhidianwl.net\/zhidianwl\/?p=3592"},"modified":"2023-08-11T12:19:06","modified_gmt":"2023-08-11T04:19:06","slug":"ideajavafx%e6%89%93%e5%8c%85exe%e8%bf%87%e7%a8%8b%e4%bb%8b%e7%bb%8d","status":"publish","type":"post","link":"https:\/\/www.zhidianwl.net\/zhidianwl\/2023\/08\/11\/ideajavafx%e6%89%93%e5%8c%85exe%e8%bf%87%e7%a8%8b%e4%bb%8b%e7%bb%8d\/","title":{"rendered":"ideajavafx\u6253\u5305exe\u8fc7\u7a0b\u4ecb\u7ecd"},"content":{"rendered":"

IntelliJ IDEA\u662f\u4e00\u6b3e\u975e\u5e38\u53d7\u6b22\u8fce\u7684Java\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff08IDE\uff09\uff0c\u5b83\u652f\u6301JavaFX\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u521b\u5efa\u548c\u6253\u5305JavaFX\u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n

\u5728\u672c\u6559\u7a0b\u4e2d\uff0c\u6211\u4eec\u5c06\u8bb2\u89e3\u5982\u4f55\u5728IntelliJ IDEA\u4e2d\u6784\u5efa\u548c\u6253\u5305\u4e00\u4e2a\u7b80\u5355\u7684JavaFX\u5e94\u7528\u7a0b\u5e8f\u3002\u6211\u4eec\u5c06\u4f7f\u7528Java 8\uff08\u56e0\u4e3aJavaFX\u5df2\u7ecf\u5185\u7f6e\u5728\u5176\u4e2d\uff09\uff0c\u4ee5\u53caInno Setup\uff0c\u4e00\u6b3e\u514d\u8d39\u7684Windows\u5b89\u88c5\u7a0b\u5e8f\u521b\u5efa\u5de5\u5177\u3002\u4ee5\u4e0b\u662f\u64cd\u4f5c\u6b65\u9aa4\uff1a<\/p>\n

**1. \u5728IntelliJ IDEA\u4e2d\u521b\u5efa\u4e00\u4e2aJavaFX\u9879\u76ee**<\/p>\n

\u6253\u5f00IntelliJ IDEA\uff0c\u9009\u62e9 “Create New Project”\uff0c\u9009\u62e9 “JavaFX”\uff0c\u7136\u540e\u70b9\u51fb “Next”\u3002\u8f93\u5165\u9879\u76ee\u540d\u79f0\u548c\u4f4d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb “Finish”\u3002IntelliJ IDEA\u5c06\u521b\u5efa\u4e00\u4e2a\u5305\u542b\u5df2\u6709\u6e90\u7801\u7684JavaFX\u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n

**2. \u5b89\u88c5\u548c\u914d\u7f6eInno Setup**<\/p>\n

\u8981\u5c06JavaFX\u5e94\u7528\u7a0b\u5e8f\u6253\u5305\u6210Windows\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u9700\u8981\u4f7f\u7528Inno Setup\u3002\u4f60\u53ef\u4ee5\u4ece[\u8fd9\u91cc](https:\/\/jrsoftware.org\/isdl.php)\u514d\u8d39\u4e0b\u8f7d\u5e76\u5b89\u88c5\u3002\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u8bf7\u786e\u4fdd “iscc.exe” \u6587\u4ef6\u7684\u8def\u5f84\u5df2\u6dfb\u52a0\u5230\u73af\u5883\u53d8\u91cf “Path”\u4e2d\u3002<\/p>\n

**3. \u4f7f\u7528JavaFX Packager\u6253\u5305\u5e94\u7528\u7a0b\u5e8f**<\/p>\n

Java 8\u81ea\u5e26JavaFX\uff0c\u56e0\u6b64\u9700\u8981\u4f7f\u7528 `javapackager`\uff08\u4f4d\u4e8eJava\u7684 `bin` \u76ee\u5f55\u4e2d\uff09\u6765\u6253\u5305\u5e94\u7528\u7a0b\u5e8f\u3002\u8981\u4f7f\u7528`javapackager`\uff0c\u9700\u8981\u5148\u6784\u5efa\u9879\u76ee\uff0c\u5c06\u6e90\u4ee3\u7801\u7f16\u8bd1\u4e3a\u53ef\u6267\u884c\u7684Java\u5b57\u8282\u7801\u6587\u4ef6\u3002<\/p>\n

\u4f9d\u6b21\u70b9\u51fb\u9879\u76eeIntelliJ IDEA\u7684 “Build” > “Build Project”\uff0c\u4ee5\u7f16\u8bd1\u9879\u76ee\u3002\u7136\u540e\uff0c\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a “package” \u7684\u6587\u4ef6\u5939\u3002<\/p>\n

\u63a5<\/p>\n

<\/figure>\n<\/p>\n

\u4e0b\u6765\uff0c\u6253\u5f00\u547d\u4ee4\u63d0\u793a\u7b26\uff0c\u7136\u540e\u5b9a\u4f4d\u5230\u9879\u76ee\u7684\u6839\u76ee\u5f55\u3002\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5c06\u5e94\u7528\u7a0b\u5e8f\u53ca\u5176\u4f9d\u8d56\u9879\u6253\u5305\u5230 “package” \u6587\u4ef6\u5939\u4e2d\uff1a<\/p>\n

“`<\/p>\n

javapackager -createjar -appclass

-srcdir out\/production\/ -srcfiles .jar -outdir package -outfile <\/p>\n

“`<\/p>\n

\u5c06 `

`\u3001“\u548c“\u66ff\u6362\u4e3a\u4f60\u7684\u4e3b\u7c7b\u540d\u79f0\u3001\u9879\u76ee\u540d\u79f0\u548c\u8f93\u51faJAR\u6587\u4ef6\u540d\u79f0\u3002\u5982\u679c\u4e0a\u8ff0\u64cd\u4f5c\u6210\u529f\uff0c\u4f60\u5e94\u8be5\u5728 “package” \u6587\u4ef6\u5939\u4e2d\u770b\u5230\u6253\u5305\u597d\u7684JAR\u6587\u4ef6\u3002<\/p>\n

**4. \u521b\u5efaInno Setup\u811a\u672c**<\/p>\n

\u4e3a\u4e86\u5c06\u5305\u542bJavaFX\u5e94\u7528\u7a0b\u5e8f\u7684JAR\u6587\u4ef6\u6253\u5305\u6210Windows\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u9700\u8981\u4e3aInno Setup\u7f16\u5199\u4e00\u4e2a\u7b80\u77ed\u7684\u811a\u672c\u3002\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a “inno_setup_script.iss” \u7684\u6587\u4ef6\uff0c\u5e76\u5199\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n

“`<\/p>\n

; Script generated by the Inno Setup Script Wizard.<\/p>\n

; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!<\/p>\n

[Setup]<\/p>\n

; NOTE: The value of AppId uniquely identifies this application.<\/p>\n

; Do not use the same AppId value in installers for other applications.<\/p>\n

; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)<\/p>\n

AppId={{GUID}}<\/p>\n

AppName=<\/p>\n

AppVersion=1.0<\/p>\n

;AppVerName= 1.0<\/p>\n

AppPublisher=<\/p>\n

DefaultDirName={pf}\\JavaFX<\/p>\n

DisableProgramGroupPage=truvs2010\u548b\u5236\u4f5cexe\u7a0b\u5e8f<\/a>e<\/p>\n

DefaultGroupName=<\/p>\n

Timing=true<\/p>\n

;DisableStartupPrompt=true<\/p>\n

OutputDir=package<\/p>\n

OutputBaseFilename=_setup<\/p>\n

Compression=lzma<\/p>\n

SolidCompression=yes<\/p>\n

WizardStyle=modern<\/p>\n

;PrivilegesRequiredpython\u751f\u6210\u7684exe\u5b89\u88c5\u5305<\/a>=admin<\/p>\n

[Languages]<\/p>\n

Name: “english”; MessagesFile: “compiler:Default.isl”<\/p>\n

[Tasks]<\/p>\n

;Name: “desktopicon”; Description: “{cm:CreateDesktopIcon}”; GroupDescription: “{cm:AdditionalIcons}”; Flags: unchecked<\/p>\n

; Uncomment the following line to get an uncompressed JRE installed, rather than the lzma compressed one provided as-is<\/p>\n

; Name: “with_java”; Description: “Install bundled JRE (~160MB)”; GroupDescription: “Additional Tasks”; Flags: unchecked<\/p>\n

[Files]<\/p>\n

Source: “package\\.jar”; DestDir: “{app}”; Flags: ignoreversionrecursesubdirscreateallsubdirsexcludesubdirfiles;<\/p>\n

\n <\/main><\/main><\/p>\n","protected":false},"excerpt":{"rendered":"

IntelliJ IDEA\u662f\u4e00\u6b3e\u975e\u5e38\u53d7\u6b22\u8fce\u7684Java\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff08IDE\uff09\uff0c\u5b83\u652f\u6301JavaFX\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u521b\u5efa\u548c\u6253\u5305JavaFX\u5e94\u7528\u7a0b\u5e8f\u3002\u5728\u672c\u6559\u7a0b\u4e2d\uff0c\u6211\u4eec\u5c06\u8bb2\u89e3\u5982\u4f55\u5728IntelliJ IDEA\u4e2d\u6784\u5efa<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[7139,7138,116,12,588],"topic":[],"class_list":["post-3592","post","type-post","status-publish","format-standard","hentry","category-zhuomianruanjian","tag-rtmp","tag-rexe","tag-116","tag-12","tag-588"],"_links":{"self":[{"href":"https:\/\/www.zhidianwl.net\/zhidianwl\/wp-json\/wp\/v2\/posts\/3592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhidianwl.net\/zhidianwl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zhidianwl.net\/zhidianwl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhidianwl.net\/zhidianwl\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zhidianwl.net\/zhidianwl\/wp-json\/wp\/v2\/comments?post=3592"}],"version-history":[{"count":0,"href":"https:\/\/www.zhidianwl.net\/zhidianwl\/wp-json\/wp\/v2\/posts\/3592\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.zhidianwl.net\/zhidianwl\/wp-json\/wp\/v2\/media?parent=3592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zhidianwl.net\/zhidianwl\/wp-json\/wp\/v2\/categories?post=3592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhidianwl.net\/zhidianwl\/wp-json\/wp\/v2\/tags?post=3592"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.zhidianwl.net\/zhidianwl\/wp-json\/wp\/v2\/topic?post=3592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}