要将pom文件中的打包方式改成war,<packaging>war</packaging>;
清理程序发布目录 mvn clean package -Dmaven.test.skip=true;
cd到项目工程的target文件夹,SNAPSHOT的jar包就是所要的(因为pom中指定的打包方式就是jar而不是war);
java -jar jar包名;
如果报404作用可能是没有将html文件打进去,可以加压查看(unzip -d);
这时候将jar改成war重新打包(可以将html等打进去);
遇到的问题:
1. 在打包的时候,DESUtil一直报错,显示找不到Base64符号。
解决方法:因为Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder类。这个类是sun公司的内部方法,并没有在java api中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。
参考https://blog.csdn.net/qq_29178991/article/details/79666924,
原来使用的JDK自带jar包中的
return new BASE64Encoder().encode(encrypted);
替换为
import org.apache.commons.codec.binary.Base64;
return Base64.encodeBase64String(encrypted);
将
byte[] encrypted1 = new BASE64Decoder().decodeBuffer(text);
替换为
import org.apache.commons.codec.binary.Base64;
byte[] encrypted1 =Base64.decodeBase64(text);
2. 部署到服务器上之后,一旦终端与服务器失去连接,springboot项目也不会再运行,无法持续运行。
解决方法:编写脚本vim startup.sh
#!/bin/sh
nohup java - jar /home/work/o2o-0.0.1-SNAPSHOT.war &
以守护进程的形式在后台运行
停止:kill -9 端口号
(查看端口号:ps -ef | grep java)