博主的运行环境:
电脑系统: Linux mint 18
JDK 版本: java version "1.8.0_171"
Maven 版本: Apache Maven 3.5.3
一, 关于 war 包的生成:
如图, 这是一个多模块项目, 被分为前端和后端, 生成的 war 包将在 web 部分生成, 但是 web 部分对 service 部分有依赖, 所以我们需要先将 service 部分的 jar 包生成才能保证 web 部分的 war 包成功生成:
生成 service 部分的 jar 包:
看到生成后, 成功放置 maven 仓库:
接下来我们要生成 web 的 war 包了:
我们可以看到成功生成, 且被放置在 cn/zuoyu/ssm/ssm-web / 下:
那么现在很多新手会问, 单单部署 web.war 包, 那么 service 的项目呢? 要知道 web 对 service 是有很强的依赖的, 我们来打开 war 包:
清晰看到有四个文件夹
看到 WEB-INF 目录下有我们想要知道的东西, 那么 service 的 class 文件会不会在 classes 目录里呢? 我们看看:
这个里面什么也没有, 我们看看 lib 目录里有没有我们想要看到的东西:
仔细看, 会看到有 ssm-service-0.0.1-SNAPSHOT.jar 包, 这个就是我们刚刚生成的 service 的 jar 包, 那么我们看看这个包里面有没有我们想要的东西:
看到这里就明了, service 的所以内容都在这个 jar 包里面, 所以我们只需要部署这个 web.war 包即可.
二, 上传到云 Linux 服务器:
云服务器系统: contes 6.5
JDK 版本: java version "1.8.0_112"
tomcat 版本: Apache Tomcat/9.0.0.M15
首先我们要连接 ssh:
格式为 #ssh user@IpAddress
我们看一下 tomcat 的地址, 并进入:
我们现在看一下 webapps 目录:
空的, 除了自带其他都没有. 现在我们要将本地的这个 war 包上传到云服务器这个目录下面 (为了方便我将此 war 包改名为 zuoyu.war 并放到此目录下:
现在需要将它上传到云服务器:
小插曲, 如果我们从服务器上将文件传至本地 scp username@servername:/path/filename /var/www/local_dir(本地目录)
如果我们本地上传到服务器 scp /path/filename username@servername:/path
如果我们从服务器下载整个目录 scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)
如果我们上传目录到服务器 scp -r local_dir username@servername:remote_dir
上传成功! 我们看一下服务器上有没有:
ok, 上传成功, 现在我们启动服务器! 如果成功启动那么它会自动解压这个 zuoyu.war 包:
我们可以看到 tomcat 已经启动, 我们看一下启动日志:
看一下 webapps 目录:
很完整, 我们浏览器访问一下试试:
很完美!
不问前程, 但行好事!
来源: https://www.cnblogs.com/1214804270hacker/p/8978087.html