【gradle】idea gradle打包springbootJar

    好久没写博客了,最近也遇到了一些技术上的坑,很多都是百度解决了,不太记得了。最近公司有个项目是用idea+gradle+springBoot的项目,想打个包在服务上做测试,于是需要用到打jar包。之前用的都是maven的方式,现在需要用到gradle,不得不说gradle确实是简洁强大,这里分享一些遇到的坑。

    一、gradle 找不到plugin  id “spring.boot ”。

     在构造gradle配置文件的时候,我参考了网上的一些插件,其中就有一个apply plugin :'spring.boot',但是打包的时候,却没找到这个插件,之后我去了spring的官网下载spring的最纯净的demo,发现现在不用spring.boot了,取而代之的是

org.springframework.boot

下面是官网的最纯洁的gradle的配置,其中注意 io.spring.dependency-management 是管理依赖,一定要加,不然打包之后会出现依赖异常

plugins {
	id 'org.springframework.boot' version '2.1.10.RELEASE'
	id 'io.spring.dependency-management' version '1.0.8.RELEASE'
	id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

二、springBoot打包

    springBoot的打包方式跟普通的java程序有些许差别,主要是boot打包时会帮我们定义好主类,毕竟几乎所有的boot的项目启动类除了名字不一样以外,其他的都大体一样,所以boot的打包会帮我们完成这个启动类的设置。我们在写打包语句的时候只需要指定“class-path”。

    另外在打包的时候一个大坑,就是一定要用boot指定的打包bootJar,在eclipse里会有builde gradle之类的插件,其中会有bootJar,但是在idea中,idea会帮我们集成好这些,但是我遇到的坑是找不到bootJar,最初我觉得可能是跟gradle的版本有关系,后面我找了几个版本,发现还是没有,可以排除不是gradle的版本造成的差别。几经波折终于找到原因所在,我在设置仓库的时候respositories的时候,加了一个mavenLocal,加上这个之后,idea会从本地的maven仓库寻找插件,所以一直找不到。

repositories {
//    mavenLocal() 此注释是为读取bootJar
    mavenCentral()
    jcenter()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
}

三、jar打包方式跳过打包

    有时候我们会用普通的打包方式,如果执行jar命令的时候,会提示跳过jar,这时候可以检查下是不是在apply plugin时添加了springframeWork-boot,把这个注释掉即可。我想可能是boot打包具有特别的性质的原因,打包要严格区分是否是boot项目

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Gradle是一种开源的构建工具,它专注于灵活性和可扩展性,并且被广泛用于构建和管理Java项目。而"idea"在这里指的是 JetBrains 公司开发的集成开发环境 (IDE),即IntelliJ IDEA。 在Gradle中使用"gradle idea"命令,可以生成IntelliJ IDEA项目文件。这意味着当我们使用Gradle来构建和管理我们的Java项目时,可以轻松地将项目导入到IntelliJ IDEA中进行开发和调试。 "gradle idea"命令执行后,Gradle会根据项目的配置和依赖关系自动生成 IntelliJ IDEA项目所需的文件和目录,包括.iml文件(模块文件)、.idea目录(IDEA配置文件)、.ipr文件(项目文件)等。 通过生成IntelliJ IDEA项目文件,我们可以在IntelliJ IDEA中利用其强大的开发工具和功能来进行Java项目的开发和调试。它提供了丰富的智能化代码编辑器、自动补全、语法检查、代码格式化、代码导航等功能,可以大大提高我们的开发效率。 此外,IntelliJ IDEA还提供了强大的调试工具,可以方便地进行代码调试和错误定位。除了基本的断点调试功能外,它还支持查看变量值、堆栈跟踪、表达式求值等高级调试功能,帮助我们更好地排查和修复问题。 总之,通过"gradle idea"命令生成IntelliJ IDEA项目文件,我们可以将Gradle管理的Java项目导入到IntelliJ IDEA中,利用IntelliJ IDEA强大的编辑和调试功能来进行快速、高效的开发。 ### 回答2: Gradle是一种现代化、灵活和强大的构建工具,而Idea是一种功能强大的集成开发环境(IDE)。gradle idea是指使用Gradle来构建Idea项目。 首先,Gradle具有强大的构建功能,它可以管理项目的依赖、编译代码、运行测试、生成文档等。通过使用Gradle构建Idea项目,我们可以轻松地自动化这些任务。它提供了一种简单易用的声明式语法,让我们能够轻松地定义项目的结构和行为。 其次,使用Gradle构建Idea项目还可以提供更加灵活的构建流程。Gradle支持多种构建方式,例如增量构建、并行构建和增量测试等,这些功能可以提高构建速度和效率。此外,Gradle还支持构建缓存,可以避免不必要的重新构建,进一步加快构建过程。 另外,Gradle还支持构建脚本的复用和可配置性。我们可以将常用的构建逻辑封装为自定义的构建脚本,并在不同的项目中重复使用。同时,Gradle还支持使用Groovy或Kotlin等语言来编写构建脚本,这使得构建逻辑更加灵活和可读性更高。 总而言之,使用Gradle构建Idea项目可以提供更加灵活和高效的构建过程。它能够帮助我们简化项目的管理和维护,并且提供了丰富的功能和扩展性。无论是小型项目还是大型企业级项目,Gradle都是一个值得考虑的构建工具。 ### 回答3: Gradle是一款强大的构建工具,而Idea是一款优秀的集成开发环境。他们之间的关系是,Gradle可以与Idea进行集成,提供更方便的项目构建和管理。 通过使用Gradle构建工具,我们可以定义项目的依赖关系、任务以及构建过程。在Gradle中,我们可以使用Groovy或Kotlin的DSL语法来编写构建脚本,这使得构建过程更加灵活和可配置。 当我们使用Gradle构建项目时,我们可以使用Gradle插件来实现与Idea的集成。通过Idea插件,我们可以将Gradle构建的项目导入到Idea中,从而在Idea中进行开发和调试。 集成GradleIdea可以带来多个优势。首先,Gradle可以自动管理项目的依赖关系,通过定义依赖关系,我们可以方便地引入第三方库和框架,并保证项目的版本兼容性。其次,Gradle可以定义不同的构建任务,如编译、打包、测试等,我们可以通过Gradle执行这些任务,提高开发效率。 另外,通过GradleIdea的集成,我们可以方便地进行项目的调试和测试。在Idea中,我们可以使用调试器对项目进行调试,快速定位和解决问题。同时,Idea也提供了丰富的测试工具,我们可以方便地编写和运行单元测试、集成测试等。 综上所述,GradleIdea的集成为开发者提供了更好的项目构建和管理工具,提高了开发效率和代码质量。通过他们的协同工作,我们可以更方便地进行项目开发和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值