创建Gradle单模块项目

发布时间:2026/7/6 4:55:51
创建Gradle单模块项目 使用的idea版本2026.1.3使用的gradle版本8.14.5创建项目使用idea工具创建gradle项目。name输入项目名称自定义Location项目路径。自定义Build system选择GradleGradle DSL选择gradle配置使用的DSL语言。DSL其实是 Domain Specific Language 的缩写中文翻译为领域特定语言下简称 DSL而与 DSL 相对的就是 GPL是General Purpose Language 的简称即通用编程语言也就是我们非常熟悉的Java、Python 以及 C 语言等等。Gradle distributionWrapper是 Gradle 官方推荐的标准做法它通过项目内置的脚本gradlew或gradlew.bat来自动下载并使用指定的 Gradle 版本。这是团队开发推荐模式保证团队开发人员使用的版本统一。如果是内网项目没有外网则只能选择Local Installation本安装后配置。此时Gradle窗口右侧是空白是因为idea还没有构建完成。构建完成后项目目录结构根路径下会有settings.gradle文件用来标记根项目和子模块之间的关系。只有跟项目下有这个配置文件如果使用idea创建module时module下有此文件一定要删除否则会出现Sync idea changges失败。build.gradle 文件中编辑插件坐标配置项目依赖等。此文件根项目和子模块都有类似maven的pom文件。如果没有子模块我们只需要修改build.gradle的文件即可。示例项目检查MySQL表字段工程修改build.gradle文件引入MySQL包dependencies { implementation mysql:mysql-connector-java:8.0.33 testImplementation platform(org.junit:junit-bom:5.10.0) testImplementation org.junit.jupiter:junit-jupiter testRuntimeOnly org.junit.platform:junit-platform-launcher }点击刷新下图中框中的两簇任意一处即可开发完成后打开gradle窗口。然后点击build打包。打包可执行jar需要在build.gradle文件中添加如下配置// 打包可执行JAR依赖放到lib目录 jar { manifest { attributes( Main-Class: com.erbaoge.Main, Class-Path: configurations.runtimeClasspath.files.collect { lib/$it.name }.join( ) ) } } // 自定义任务复制依赖到lib目录 tasks.register(copyDependencies, Copy) { from configurations.runtimeClasspath into $buildDir/libs/lib } // 打包时自动执行copyDependencies build.dependsOn copyDependencies其中Main-Class配置修改自己项目中的启动类。打包会将依赖包打到lib目录下。然后点击build就能打出可执行jar包打包后的jar依然在build目录下。项目中的整体配置settings.gradlerootProject.name CheckTableCoumnbuild.gradleplugins { id java } group com.erbaoge version 1.0-SNAPSHOT sourceCompatibility 1.8 repositories { mavenCentral() } dependencies { implementation mysql:mysql-connector-java:8.0.30 testImplementation platform(org.junit:junit-bom:5.10.0) testImplementation org.junit.jupiter:junit-jupiter testRuntimeOnly org.junit.platform:junit-platform-launcher } test { useJUnitPlatform() } // 打包可执行JAR依赖放到lib目录 jar { manifest { attributes( Main-Class: com.erbaoge.Main, Class-Path: configurations.runtimeClasspath.files.collect { lib/$it.name }.join( ) ) } } // 自定义任务复制依赖到lib目录 tasks.register(copyDependencies, Copy) { from configurations.runtimeClasspath into $buildDir/libs/lib } // 打包时自动执行copyDependencies build.dependsOn copyDependencies