IDEA用Gradle打包GUI Form为可执行的jar
Gradle是非常优秀的自动构建工具,Android Studio中使用的构建工具就是Gradle。
在IDEA中创建Gradle项目
如下图所示即可:
接下来就是按正常的过程写程序,这里不再说了。
调试或运行程序
直接点调试或运行按扭程序是不会正常运行的。这里需要进行一项设置:
点击:File->Settings->Build, Execution, Deployment->Build tools->Gradle,设置Build and run using为IntelliJ IDEA。如下图:
再点击调试和运行按扭 就可以正常启动程序了。
将form文件转成代码
要想用Gradle编译IDEA的GUI Form项目,必须将.form文件生成java代码并插入到.java文件中。好在idea能够自动的完成这个项目。设置过程如下:
如上图,打开setting,搜索GUI,找到GUI Designer,将Generate GUI into改为Java source code。这样编译时,就可以在.java文件中生成界面生成代码。
完成上述设置后,运行一下 Build Project ,才能最终生成界面代码
每次更改界面后都要运行一下 Build Project
发布Jar
这里需要修改build.gradle,具体如下:
apply plugin: 'java' apply plugin: 'idea' group '*********' version '1.0-SNAPSHOT' repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' } mavenCentral() } dependencies { implementation group: 'com.google.zxing', name: 'core', version: '3.4.1' implementation group: 'com.intellij', name: 'forms_rt', version: '7.0.3' implementation fileTree(dir:'libs',include:['*.jar']) } test { useJUnitPlatform() } jar { archivesBaseName = '******'//基本的文件名 archiveVersion = '1.0' //版本 manifest { //配置jar文件的manifest attributes( "Manifest-Version": 1.0, 'Main-Class': '******' //指定main方法所在的文件 ) } //打包依赖包 from { (configurations.runtimeClasspath).collect { it.isDirectory() ? it : zipTree(it) } } { exclude "META-INF/*.SF" exclude "META-INF/*.DSA" exclude "META-INF/*.RSA" } } //清除上次的编译过的文件 task clearPj(type:Delete){ delete 'build','target' } task copyJar(type:Copy){ from configurations.runtime into ('build/libs/lib') } //把JAR复制到目标目录 task release(type: Copy,dependsOn: [build,copyJar]) { }
请对比自己的buidle.gradle文件进行对比修改。
注意要添加:implementation group: 'com.intellij', name: 'forms_rt', version: '7.0.3'
保存刷新之后,在右侧gradle栏中找到release操作,如下图:
运行release之后,就可以在build\libs下找到打包好的jar了。