Gradle(Kotlin)、Maven - 构建工具
Gradle、Maven - 构建工具
综述
Gradle、Maven - Java构建工具
Gradle
Gradle兼容Java版本列表 - https://docs.gradle.org/current/userguide/compatibility.html 说明 - 兼容表的“Support for running Gradle”列是指Gradle自身JDK支持最高版本。 Gradle顶级对象可用成员 - https://docs.gradle.org/current/dsl/org.gradle.api.Project.html NetBeans支持设置Gradle执行环境与IDE不同的Java Runtime了,安装JDK21,添加zip版JDK20。 目录 gradle/wrapper/ 为可选文件夹,对Gradle不敏感者无需配置。 NetBeans的Gradle库通常不支持最新JDK,故应指定兼容的Gradle版本: Options->Java->Gradle->Gradle Distribution:Custom... 不兼容则报 - The Java version: 22, that is selected for the project is not supported by Gradle 8.7. Gradle首选kotlin,但有些特例: 列表初始化要用: options.compilerArgs = listOf("-Xdoclint:none", "-Xlint:none", "-nowarn") Kotlin不支持三元表达式,可换用 if(org.gradle.internal.os.OperatingSystem.current().isLinux()) "linux" else "windows"; Gradle Kotlin语法: val x = "string" var xx= "${x}" tasks.register("x") { from("other-dir", "build/outputs/aar/${x}-release.aar") into("build/${x}/") } Gradle语法: 获取-P传参值 providers.gradleProperty("mySecureRepositoryUsername").getOrNull() -D传参值用 providers.systemProperty(... 取环境变量用 providers.environmentVariable(... 解决withJavadocJar()上传至远程仓库超时:systemProp.org.gradle.internal.http.socketTimeout=300000 指定JAVA_HOME: org.gradle.java.home=E:\\java\\jdk-19.0.2_windows-x64_bin\\jdk-19.0.2 管理插件: buildscript { // build.gradle configurations.all { resolutionStrategy { // Jib插件ASM未支持JDK22报Unsupported class file major version 61 - https://github.com/GoogleContainerTools/jib/pull/4252 force 'org.ow2.asm:asm:9.7.1' } } } pluginManagement { // settings.gradle resolutionStrategy { eachPlugin { println(requested.id.id) if (requested.id.id == 'com.google.cloud.tools.jib') { useVersion("3.4.4") // 指定插件版本或插件全名: useModule("com.google.cloud.tools:jib-gradle-plugin:3.4.4") } } } repositories { mavenLocal() gradlePluginPortal() } }
Maven
命名规范: groupId使用Java Package命名格式,每个点号均对应一个文件夹目录; artifactId首选横杠分割,不使用点号和其他特殊符号,故整个算一个文件夹目录; version如果是快照版本则写死SNAPSHOT,否则用点号分隔的实际版本号。 Maven/mvn之POM用法