springboot+gradle+docker发布(上)
最近接到一份活,项目是基于gradle构建的springboot微服务,最后将工程发布至k8s上,这期间碰到一些问题和难题,今天记录于此,以作分享:
1) 首先,gradle在本人的机器上并没有安装,之前用的是maven,本人上家单位也用过gradle,所以最初拿到项目的时候也并不慌,ok言归正传,导入工程后,idea编译报错:
这个错误,困扰了我很久,首先说下原由:
--字面的意思是java_home不同(谁跟谁不同呢:idea用的java_home就是我们平时配置的jdk,而gradle是用jdk/jre),但是我尝试着将工程的gradle.properties添加org.gradle.java.home=jdk/jre,发现依旧不行,最后我在网上搜到了这位小哥的记录:
他的意思是说将jdk/jre/lib中的tools.jar移到上一层的lib中(这里说明下为何我的jdk/jre/lib中会有tools.jar,在最初安装jdk时候并没有的,后来因为有次在Tomcat上发布报错添加了tools.jar),然后又编译了一遍,我的idea中gradle配置如下:
然后,又报了错:
然后搜到:https://www.jianshu.com/p/f9951d5506fc 得知>>gradle 5目前对Android Studio和intelliJ都有兼容性问题,目前建议的解决方案是降级到版本4;
然后我将idea设置成这样:
就这样,工程终于可以编译成功了,你可以用gradle窗口来执行你想要的操作:
ok,到这,工程可以成功打包了。你可以在工程的build/libs下找到打好的包
接下来,就是在docker中发布了,请看下一篇