因为项目之前一直是打war包,用tomcat执行的。
有一天领导来说:有个场景不支持springboot2.0,你打成一个jar吧。
于是我先注释了现有build.gradle里的
//compile 'org.springframework.boot:spring-boot-starter-tomcat:2.0.5.RELEASE'
并添加了一个task来打这个jar
//这个必须要放在配置文件头部位置
buildscript {
repositories {
mavenLocal()
maven {url "https://plugins.gradle.org/m2/"}
mavenCentral()
}
dependencies {
classpath "us.kirchmeier:gradle-capsule-plugin:1.0.2" //第一步:加载插件依赖
}
}
plugins { //第二步:引用插件
id "us.kirchmeier.capsule" version "1.0.2"
}
/** 多个任务就需要用命令一个一个打包,gradle后面跟着每个任务的名称 */
task cmskeyword(type: FatCapsule) { //第三步:定义任务,然后在命令行执行gradle ServerMonitor打包
applicationClass 'com.start.Start'
baseName 'cmskeyword'
}
执行完了后,在libs下有2个jar包
进入到这个目录下,执行 java -jar cmskeyword-capsule.jar 结果如下:说明打包成功
中间遇到有一些坑,还是对
这个提示让我百思不得其解。
一开始我思考是不是由于之前打war包,都是通过tomcat8运行的,没改好配置,折腾半天也不是,我已经成功改回了springboot启动类启动,也可以正常访问。
后来通过google找到一个类似的报错,那个是异常字符<"> at index0:"JDK的问题,外国友人最后的处理方式是删了环境变量里的"
我就把我本地的tomcat的环境变量删了,重启下就好了。
一般来讲,tomcat不需要配环境变量,但是我本地为什么有,依旧是个谜。我也忘了。。