一、springboot项目打包部署:
1、打jar包:
(1)、在pom.xml中可以配置jar包的名字:
<build> <finalName>love2</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
等下生成jar包的名字就叫做love2。
(2)、clean一下项目:
选中按项目run as maven clean
。
(3)、打包项目:
选中项目run as maven install
。
(4)、执行java -jar:
执行第三步控制台输出success后,在本地项目根目录的target目录下就有love2.jar。
love2.jar就是打包好的项目。我们先在本地启动一把,等下再看看Linux服务器上如何启动。
在cmd窗口进入love2.jar所在目录,然后执行java jar love2.jar
:
(5)、访问项目:
启动成功后,访问localhost:8082/baby
,本项目配置了端口为8082,baby是本项目路由。
注意:配置8082端口是因为我Linux服务器上有一个8080端口的项目了,配置8082是为了等下使用ngrok的方便。
(6)、部署到Linux服务器中:
部署到服务器中很简单,只需要把love2.jar上传到服务器,然后执行nohup java -jar love2.jar &
即可。&
表示后台运行。
(7)、访问服务器上的项目:
2、打war包:
打成jar包很方便,因为内置了tomcat,所以服务器上也无需安装tomcat。正因为如此,所以如果要同时启动多个spring boot项目项目,那就得配置不同的端口,比如一个8080,一个8081,一个8082……。但是这样也不好,因为接下来的ngrok免费版只能解析一个端口,即如果解析了8080那就不能解析其他的了。所以可以打成war包,全都运行在8080端口的tomcat服务器下,那么ngrok只解析8080端口就行了。接下来就看看如何打成war包:
(1)、修改pom.xml:
打包方式由jar改成war。
<groupId>com.zhu</groupId> <artifactId>love2</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging>
添加一个依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
(2)、修改启动类:
启动类继承SpringBootServletInitializer并重写configure方法。
@SpringBootApplication public class Love2Application extends SpringBootServletInitializer{ @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // TODO Auto-generated method stub return builder.sources(Love2Application.class); } public static void main(String[] args) { SpringApplication.run(Love2Application.class, args); } }
(3)、进行打包:
同样是run as maven install
就行了,在项目根目录的target目录下就会生成一个war包,把war包上传至服务器tomcat的webapps目录下,过几秒就会自动解压,然后就可以访问了。
我们都知道直接通过服务器的IP访问项目不太安全,买域名要备案又有点麻烦,又或者根本没买服务器,但是项目又想让别人也能访问,那么,ngrok就可以帮到你,接下来看看ngrok的使用方法。