linux部署SpringBoot项目

linux部署SpringBoot项目

小白第一次使用Linux部署springboot项目,期间遇到一些问题,通过这篇文章记录下来。
SpringBoot部署有两种方式一是打包成jar文件运行,另外是打包war文件放到tomcat下运行。本文记录了运行jar文件方式进行部署(打包动作在Eclipse下进行)。

项目打包

首先对application.properties文件进行配置:
设置开发配置,默认为"dev"。打包时改为“prod”,启用生产配置。

#Profile设置
spring.profiles.active=dev

SpringBoot中内置tomcat,配置内置tomcat端口,注意不与已被占用端口号冲突,并且Linux中防火墙允许该端口

#内置tomcat端口配置
server.port=8081

application.properties文件需要添加的东西不多,然后在pom.xml上添加相关插件和依赖:


 	    
            maven-compiler-plugin  
             3.1  
                
                    1.8  
                    1.8  
                    utf8   
                 
          
 	 
 	 
 	 	
            org.apache.maven.plugins
            maven-surefire-plugin
            
            	true
            
        
 	 
 	 
    	
    		org.springframework.boot
    		spring-boot-maven-plugin
    	

打包方式也要修改成jar文件

 jar

然后,对启动类进行修改,我的项目启动类为Application.class,给启动类继承SpringBootServletInitializer类,并重写configure方法。一开始我没有做这个操作,打包成jar文件后,jar文件内的MANIFEST.MF中缺少主清单属性,在linux下运行是会报错“no main manifest attribute, in xxxx.jar”:

public class Application extends SpringBootServletInitializer {

	public static void main(String[] args) {
		SpringApplication.run(Application.class,args);
	}
	
	@Override  
	 protected SpringApplicationBuilder configure(SpringApplicationBuilder application){
        return application.sources(Application.class);
    }
}

接下来通过maven对项目进行打包生成jar文件,打包有两种方式:1.项目—运行方式—Maven build,输入执行代码“clean package -Dmaven.test.skip=true”; 2.项目—运行方式—Maven install;顺利的话,打包成功,jar文件在项目target文件夹下。

但在打包过程中,我遇到一些问题。
第一个是报错“[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?”,这个错误就是需要你改jdk编译环境,在Eclipse上 Window—Preference—Java—installed JREs,然后选择jdk。
linux部署SpringBoot项目_第1张图片

修改后,原来的错误解决了,但还有新的错误,控制台报错找不到包和符号,百度一通也没解决,就将它报出缺少的包在pom.xml上都添加上,运行成功。不过这些包有些也是不需要的,需要自己一个一个试然后删除,否则生成的jar文件运行会出现包冲突情况。

linux导入sql文件

想要jar文件正常运行,得在Linux下创建对应的数据库,并将数据库内的数据结构,数据导入。外部sql文件生成就不说了,说下怎么将sql导入Linux下:
将sql文件传输到linux下,存在哪个目录自定义,以“/usr/sql”为例;
mysql -u root -p 进入mysql;
.>create database xxx(数据库名);
.>use xxx(数据库名)
.>source /usr/sql/xxx.sql
完成导入

Linux运行jar文件

首先把jar文件拉入Linux里面,目录自定义,以“/usr/project”为例;
cd /usr/project 进入jar文件所在目录
java -jar xxx.jar
运行成功!

你可能感兴趣的:(linux部署SpringBoot项目)