11plugins {
2- id " org.beryx.jlink" version " 2.26.0"
2+ // id "org.beryx.jlink" version "2.26.0"
3+ id ' org.beryx.runtime' version ' 1.12.7'
34 id " org.openjfx.javafxplugin" version " 0.1.0"
45}
56
67dependencies {
78 api project(' :xcore' )
8- // api project(":littleTools:x-EncryptAndDecrypt")
9- // api project(":littleTools:x-ZHConverter")
10- // api project(":littleTools:x-ImageTool")
11- // api project(":littleTools:x-IconTool")
12- // api project(":littleTools:x-PdfConvertTool")
13- // api project(":littleTools:x-QRCodeBuilder")
14- // api project(":littleTools:x-FileCopy")
15- // api project(":littleTools:x-FileMergeTool")
16- // api project(":littleTools:x-TimeTool")
17- // api project(":littleTools:x-CharacterConverter")
18- // api project(":littleTools:x-BookManageSystem")
19- // api project(":littleTools:x-CoordinateTransformTool")
20- // api project(":littleTools:x-ElementaryArithmeticProblemTool")
21- // api project(":littleTools:x-CronExpBuilder")
22- // api project(":littleTools:x-EmailTool")
23- // api project(":littleTools:x-ExcelSplitTool")
24- // api project(":littleTools:x-FileBuildTool")
25- // api project(":littleTools:x-FileCompressTool")
26- // api project(":littleTools:x-FileRenameTool")
27- // api project(":littleTools:x-FileSearchTool")
28- // api project(":littleTools:x-HdfsTool")
29- // api project(":littleTools:x-ImageAnalysisTool")
30- // api project(":littleTools:x-JavaService")
31- // api project(":littleTools:x-LinuxPathToWindowsPath")
32- // api project(":littleTools:x-Mp3ConvertTool")
33- // api project(":littleTools:x-RelationshipCalculator")
34- // api project(":littleTools:x-SealBuilderTool")
35- // api project(":littleTools:x-SedentaryReminderTool")
36- // api project(":littleTools:x-SmsTool")
37- // api project(":debugTools:x-CmdTool")
38- // api project(":debugTools:x-ScanPortTool")
39- // api project(":debugTools:x-SwitchHostsTool")
40- // api project(":debugTools:x-SocketTool")
41- // api project(":debugTools:x-ActiveMqTool")
42- // api project(":debugTools:x-ExpressionParserTool")
43- // api project(":debugTools:x-FtpClientTool")
44- // api project(":debugTools:x-FtpServer")
45- // api project(":debugTools:x-HbaseTool")
46- // api project(":debugTools:x-HttpTool")
47- // api project(":debugTools:x-KafkaTool")
48- // // api project(":debugTools:x-KeyTool")
49- // api project(":debugTools:x-RedisTool")
50- // api project(":debugTools:x-ScriptEngineTool")
51- // api project(":debugTools:x-ZookeeperTool")
52- // api project(":codeTools:x-RegexTester")
53- // api project(":codeTools:x-RandomGeneratorTool")
54- // api project(":codeTools:x-IdCardGenerator")
55- // api project(":codeTools:x-CharsetDetectTool")
56- // api project(":codeTools:x-ColorCodeConverterTool")
57- // api project(":codeTools:x-EscapeCharacter")
58- // api project(":codeTools:x-FileUnicodeTransformationTool")
59- // api project(":codeTools:x-WebSourcesTool")
60- // api project(":developTools:x-AsciiPicTool")
61- // api project(":developTools:x-JsonConvertTool")
62- // api project(":developTools:x-ClipboardHistoryTool")
63- // api project(":developTools:x-DirectoryTreeTool")
64- // api project(":developTools:x-LuytenTool")
65- // api project(":developTools:x-PathWatchTool")
66- // api project(":assistTools:x-TextToSpeechTool")
67- // api project(":assistTools:x-DecompilerWxApkgTool")
68- // api project(":assistTools:x-IdiomDataTool")
69- // api project(":assistTools:x-WechatJumpGameTool")
70- // api project(":games:x-X2048")
71- // api project(":games:x-BullsAndCowsGame")
72- // api project(":games:x-Sudoku")
73- // api project(":games:x-ChineseChess")
74- // api project(":games:x-SnakeJavaFx")
75- // api project(":games:x-pet")
76- // api project(":javaFxTools:x-JavaFxXmlToObjectCode")
77- // api project(":javaFxTools:x-ShowSystemInfo")
78- // api project(":webTools:x-ShortURL")
79- // api project(":netWorkTools:x-WebCronExpBuilder")
80- // api project(":netWorkTools:x-WebJsonEditor")
9+ api project(" :littleTools:x-EncryptAndDecrypt" )
10+ api project(" :littleTools:x-ZHConverter" )
11+ api project(" :littleTools:x-ImageTool" )
12+ api project(" :littleTools:x-IconTool" )
13+ api project(" :littleTools:x-PdfConvertTool" )
14+ api project(" :littleTools:x-QRCodeBuilder" )
15+ api project(" :littleTools:x-FileCopy" )
16+ api project(" :littleTools:x-FileMergeTool" )
17+ api project(" :littleTools:x-TimeTool" )
18+ api project(" :littleTools:x-CharacterConverter" )
19+ api project(" :littleTools:x-BookManageSystem" )
20+ api project(" :littleTools:x-CoordinateTransformTool" )
21+ api project(" :littleTools:x-ElementaryArithmeticProblemTool" )
22+ api project(" :littleTools:x-CronExpBuilder" )
23+ api project(" :littleTools:x-EmailTool" )
24+ api project(" :littleTools:x-ExcelSplitTool" )
25+ api project(" :littleTools:x-FileBuildTool" )
26+ api project(" :littleTools:x-FileCompressTool" )
27+ api project(" :littleTools:x-FileRenameTool" )
28+ api project(" :littleTools:x-FileSearchTool" )
29+ api project(" :littleTools:x-HdfsTool" )
30+ api project(" :littleTools:x-ImageAnalysisTool" )
31+ api project(" :littleTools:x-JavaService" )
32+ api project(" :littleTools:x-LinuxPathToWindowsPath" )
33+ api project(" :littleTools:x-Mp3ConvertTool" )
34+ api project(" :littleTools:x-RelationshipCalculator" )
35+ api project(" :littleTools:x-SealBuilderTool" )
36+ api project(" :littleTools:x-SedentaryReminderTool" )
37+ api project(" :littleTools:x-SmsTool" )
38+ api project(" :debugTools:x-CmdTool" )
39+ api project(" :debugTools:x-ScanPortTool" )
40+ api project(" :debugTools:x-SwitchHostsTool" )
41+ api project(" :debugTools:x-SocketTool" )
42+ api project(" :debugTools:x-ActiveMqTool" )
43+ api project(" :debugTools:x-ExpressionParserTool" )
44+ api project(" :debugTools:x-FtpClientTool" )
45+ api project(" :debugTools:x-FtpServer" )
46+ api project(" :debugTools:x-HbaseTool" )
47+ api project(" :debugTools:x-HttpTool" )
48+ api project(" :debugTools:x-KafkaTool" )
49+ // api project(":debugTools:x-KeyTool")
50+ api project(" :debugTools:x-RedisTool" )
51+ api project(" :debugTools:x-ScriptEngineTool" )
52+ api project(" :debugTools:x-ZookeeperTool" )
53+ api project(" :codeTools:x-RegexTester" )
54+ api project(" :codeTools:x-RandomGeneratorTool" )
55+ api project(" :codeTools:x-IdCardGenerator" )
56+ api project(" :codeTools:x-CharsetDetectTool" )
57+ api project(" :codeTools:x-ColorCodeConverterTool" )
58+ api project(" :codeTools:x-EscapeCharacter" )
59+ api project(" :codeTools:x-FileUnicodeTransformationTool" )
60+ api project(" :codeTools:x-WebSourcesTool" )
61+ api project(" :developTools:x-AsciiPicTool" )
62+ api project(" :developTools:x-JsonConvertTool" )
63+ api project(" :developTools:x-ClipboardHistoryTool" )
64+ api project(" :developTools:x-DirectoryTreeTool" )
65+ api project(" :developTools:x-LuytenTool" )
66+ api project(" :developTools:x-PathWatchTool" )
67+ api project(" :assistTools:x-TextToSpeechTool" )
68+ api project(" :assistTools:x-DecompilerWxApkgTool" )
69+ api project(" :assistTools:x-IdiomDataTool" )
70+ api project(" :assistTools:x-WechatJumpGameTool" )
71+ api project(" :games:x-X2048" )
72+ api project(" :games:x-BullsAndCowsGame" )
73+ api project(" :games:x-Sudoku" )
74+ api project(" :games:x-ChineseChess" )
75+ api project(" :games:x-SnakeJavaFx" )
76+ api project(" :games:x-pet" )
77+ api project(" :javaFxTools:x-JavaFxXmlToObjectCode" )
78+ api project(" :javaFxTools:x-ShowSystemInfo" )
79+ api project(" :webTools:x-ShortURL" )
80+ api project(" :netWorkTools:x-WebCronExpBuilder" )
81+ api project(" :netWorkTools:x-WebJsonEditor" )
8182}
8283
8384group = ' com.xwintop'
84- version = ' 0 .2.3-jdk17 '
85+ version = ' 1 .2.3'
8586description = ' xJavaFxTool'
8687
8788compileJava {
@@ -99,26 +100,62 @@ application {
99100 " -XX:+ShowCodeDetailsInExceptionMessages" ,
100101 " -Dsun.java2d.opengl=true" ,
101102 // 不添加此参数,打包成exe后,https协议的网络图片资源无法加载
102- " -Dhttps.protocols=TLSv1.1,TLSv1.2"
103+ " -Dhttps.protocols=TLSv1.1,TLSv1.2" ,
104+ ' --add-exports=javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED' ,
105+ ' --add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED' ,
106+ ' --add-exports=javafx.graphics/com.sun.javafx.util=ALL-UNNAMED' ,
107+ ' --add-exports=javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED' ,
108+ ' --add-exports=javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED' ,
109+ ' --add-exports=javafx.base/com.sun.javafx.event=ALL-UNNAMED' ,
110+ ' --add-opens=java.base/java.lang.reflect=ALL-UNNAMED'
103111 ]
104112}
105113
106- jlink {
107- mergedModule {
108- requires ' java.naming'
109- // requires 'java.xml'
110- }
111- addExtraDependencies(" javafx" )
114+ // 使用 https://badass-runtime-plugin.beryx.org/releases/latest/
115+ // 插件 Badass-Runtime plugin 需要将主类单独抽离出来,这里使用Launcher作为启动类,不然的话,会提示没有加载Java FX组件
116+ runtime {
117+ options. set([' --strip-debug' , ' --compress' , ' 2' , ' --no-header-files' , ' --no-man-pages' ])
118+ modules. set([
119+ ' java.desktop' ,
120+ ' java.xml' ,
121+ ' jdk.unsupported' ,
122+ ' jdk.jfr' ,
123+ ' jdk.unsupported.desktop' ,
124+ ' java.datatransfer' ,
125+ ' java.scripting' ,
126+ ' java.rmi' ,
127+ ' java.sql' ,
128+ ' java.naming' ,
129+ ' java.compiler' ,
130+ ' java.logging' ,
131+ ' java.management' ])
112132 launcher {
113- name = application . applicationName
114- mainClassName = application . mainClass
115- // jvmArgs = ['-Dlogback.configurationFile=./logback.xml']
133+ // 如果构建后无法启动并且无法知晓异常时,可以将此参数配置为false,
134+ // 然后执行 gradle runtime,会得到bat方式的可执行程序,在cmd中运行对应bat,可以看到对应异常
135+ noConsole = true
116136 }
117137 jpackage {
118- outputDir = " build-package"
119138 imageName = application. applicationName
120- skipInstaller = false
121- installerName = application. applicationName
122- appVersion = version. toString()
139+ imageOptions. addAll([' --icon' , ' src/main/resources/images/icon.jpg' ])
123140 }
124- }
141+ }
142+
143+ // jlink {
144+ // mergedModule {
145+ // requires 'java.naming'
146+ // // requires 'java.xml'
147+ // }
148+ // addExtraDependencies("javafx")
149+ // launcher {
150+ // name = application.applicationName
151+ // mainClassName = application.mainClass
152+ // // jvmArgs = ['-Dlogback.configurationFile=./logback.xml']
153+ // }
154+ // jpackage {
155+ // outputDir = "build-package"
156+ // imageName = application.applicationName
157+ // skipInstaller = false
158+ // installerName = application.applicationName
159+ // appVersion = version.toString()
160+ // }
161+ // }
0 commit comments