标签:ima 自己的 life 文件夹 配置 clu pid 不能 测试
1、在pom.xml中如果要打war包,必须加上该行代码。
<packaging>war</packaging>
2、pom.xml中继续加入以下代码:该代码用于spring boot中内嵌的tomcat包依赖排除,不然会产生冲突。
<exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions>
3、pom.xml中继续加入以下依赖:该代码用于开发时使用spring boot内嵌tomcat进行调试,生产时使用外部tomcat
scope里的provided意思是只用于开发及测试阶段。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
4、找到项目中的application 然后让该类继承SpringBootServletInitializer,然后重写configure方法,如下图所示:
到这里,目前项目中需要打包配置的步骤已经完成,接下来进行打包
1、点击idea右边的maven(通过菜单View->Tool Windows->Maven Projects打开)-》你的项目名-》Lifecycle-》双击package
如果要引入外部手工导入的包,也要一起打包生成,则需要做以下的操作:
==================================================================================
1.将包引入到自己的资源文件下:比如
我这里是springboot项目,在resources下建立了lib文件夹,将自己本地的jar引入到了lib下。
2.在pom文件中加入本地包的依赖:
其中groupId artifactId 和version自己随便写。scope作用于定义为system,systemPath定义为jar包在项目中的路径(${basedir}就是项目的根目录):
然后,光做这些还是不够的,这样只能保证我们在本地能够正常运行,打包还是不会被打包进去。所以下面才是重点中的重点。
如果是打jar包:我们需要在引入的springboot的maven插件中告诉maven,将我们的刚刚引入的作用域为system的本地jar也打包进来,如图所示:
这样,当我们打jar包的时候就没问题了。
如果是打war包,需要在maven的war插件中引入你的本地jar包:
direcotry:你本地的jar包的路径
targetPath:将你的jar包打到WEB-INF/lib下
==================================================================================
点击运行控制台会打印打包的过程信息,主要看最后是不是显示成功。如果成功,说明前面步骤没问题。
如果失败了,那么请再次检查上面的步骤以及注意的事项。
2、如下图打开target,打好的包就在该目录下,名称为项目名-0.0.1-SNAPSHOT.war,首先把名字改一下,改成ROOT.war,
改名字为ROOT主要是不用打项目名,在服务器上测试直接可以localhost加端口号加你的项目登录路径就能打开系统页面。
我们祭出ctrl+c,ctrl+v大法把该war包放到桌面,再移动到腾讯云服务器的tomcat中去。
包已经打好,那么我们接下来到服务器的tomcat中操作
首先一定要确保tomcat可以正常启动
1、将war包移动到腾讯云服务器tomcat目录下的webapps中,不需要解压,不需要任何操作。
如果webapps目录中有ROOT文件夹,删除即可。
2、启动tomcat
现在解释为什么一定要tomcat9.0版本,因为我们的war包中默认打的tomcat的lib包为9.0版本
如图所示:如果我们尝试放在tomcat别的版本上,启动tomcat控制台就会报各种异常。
按道理是可以改版本的,但是由于太懒,所以没去找解决方案。。。
最后跑完看一下控制台,看看是否有报错,然后在服务器的本地上进行测试吧。
如果改名字为ROOT.war,在服务器上测试直接可以localhost+端口号+你的项目登录路径就能打开系统页面。
如:localhost:8080/sys/login
如果没改名字,还是原来项目名.war,在服务器上测试直接可以localhost+端口号+你的项目名+登录路径就能打开系统页面。
如:localhost:8080/项目名/sys/login
如果你们服务器上测试也没问题了,那么就要公网测试了,这个就不多说了,服务器能跑起来公网的问题其实注意两点就行
1、腾讯云注意安全组开放端口,这里建议开放80端口的那个选项,然后把该服务器添加到安全组中,之后把tomcat的端口改成80。
2、安全组开放了之后有可能还不能公网访问,那么就是防火墙的问题了,把防火墙关闭即可。
标签:ima 自己的 life 文件夹 配置 clu pid 不能 测试
原文地址:https://www.cnblogs.com/lpq21314/p/13194847.html