最近要准备一个阿里云、腾讯云等服务器的性能对比,所以需要重新将操作系统的知识捡起来学习,也希望能够通过这次的实验来巩固我对底层知识架构的理解,于是先尝试着部署一下自己的项目到Linux上。熟悉一下操作。
步骤一 打包IDEA项目:首先进入IDEA中,直接使用maven里面lifecycle的package命令,即可完成项目打包:
在使用package命令之前,可以先使用clean命令,这个命令的作用是将根目录下的target文件删除
步骤二:检查IDEA是否报错当时有一个报错信息:
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2
问题在于我添加了测试类,导致了maven打包异常。
解决的方法就是跳过他:
org.apache.maven.plugins maven-surefire-plugin2.22.1 true
在pom.xml 中写入后刷新一下,重新打包,成功了会在根目录的target下生成一个.jar文件
步骤三:将.jar文件上传到Ubuntu中
因为我使用的是虚拟机,而且是virtual box,他要实现主机和虚拟机的文件共享,或者复制粘贴,需要额外加个增强包,这个上官网下载即可。
VBoxGuestAdditions_6.1.16 这是一个光盘镜像文件,需要在存储中将这个光盘添加进去。然后再在虚拟机里面将这个光盘文件挂载起来,他才可以使用。
因为过程中还有许多的配置,例如使用主机输入输出I/O缓存等,这里就不过多赘述了。
在ubuntu中用 sudo mount 指令将其挂载到一个目录中,这个命令一般用来挂载文件系统,一些光驱磁盘等设备。
最后挂载成功,将.jar 文件传到虚拟机中。
步骤四:执行命令: java -jar 名字.jar 命令即可
在Ubuntu里面进入命令行,首先你的Ubuntu要安装java,也就是配置jre、jdk等,你可以自己上网下载,然后配置好环境变量,但是ubuntu里面的环境变量配置会麻烦一点,你可以直接使用命令:sudo apt install default-jre
使用ubuntu里面自带的这条命令,他会帮你配置好java的环境,然后就可以使用这条指令了,重要的一点是你需要用cd跳转到该文件的文件夹上面才可以运行,或者使用绝对路径也可以。一般步骤进行到这里项目就可以在linux里面跑起来了,不过我遇到了另一个报错:no main manifest attribute, in XXX1.0.0-SNAPSHOT.jar
遇到这个报错一般就是没有在pom.xml中引入一个spring-boot-maven-plugin
刚好我配置了这个,不过我设置成跳过了,之前为了调试一些地方将这个地方写了个skip,现在去掉这个skip然后刷新一下
org.springframework.boot spring-boot-maven-pluginorg.projectlombok lombok
我说怪不得打包出来包的大小只有34KB。
总结:总的来说,这次将Springboot部署到虚拟机的linux上还是遇到挺多bug的,无论是Springboot还是Virtual box ,感觉用虚拟机挺不方便的,而且使用的时候占本机的内存,内存要是不够就容易卡,然后传文件这些的也需要自己进行配置,所以如果有条件的话,建议自己购买一个简单配置的服务器,这样更方便使用,如果是学生的话,强烈建议体验一下, 因为学生在购买服务器上面有优惠。至于增强包的挂载操作大家可以去查询具体的操作方法,这里要论述的话,篇幅有点太大了。
如果有什么步骤少了或者不够完善的,也欢迎大家在评论区进行留言,或者私信我,我会非常感谢的。



