o2o项目-13. 项目的打包和部署

要将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)

发布了53 篇原创文章 · 获赞 5 · 访问量 1534

猜你喜欢

转载自blog.csdn.net/zhicheshu4749/article/details/102736585