java -jar codergroup-1.0.0.jar 就可以启动项目,为了能在后台运行,通常我们会使用这行命令
nohup java -jar codergroup-1.0.0.jar >temp.txt &
这种方式部署最大的好处,我觉得还是操作简单,无需安装外置的 Tomcat,所以完全可以摆脱使用传统的 war 的方式部署。
但是,jar 方式部署的话,我们就不能使用像 war 那种,放在 tomcat 下的 webapps 里就能解压,然后可以直接修改里面的 classes(包括静态文件,配置文件,java字节码文件)。
当我将项目部署到服务器上,突然发现有一个bug,或者有一个错误的链接需要修改。我们可以在本地修改,然后重新使用 maven 打包,再上传新的 jar 包,再将服务器上原来的服务杀死,重新执行 java -jar 命令。显示,这太麻烦了,一方面比较费时间,另一方面网站会有十几秒钟停止访问。
于是,我开始想用 war 的方式部署,但是一直出现 2 Spring WebApplicationInitializers detected on classpath 报错,解决了很久未果。于是,暂时放弃。
后来去查看官方文档,找到更好的方法。
我们可以解压 jar,然后运行里面的启动类
unzip -q codergroup-1.0.0.jar
java org.springframework.boot.loader.JarLauncher
运行结果如下
这种情况下,不能属于前台启动,我们建议使用后台启动
nohup java org.springframework.boot.loader.JarLauncher >output.txt &
这时候,控制台信息将写入到 output.txt 文件
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏