SpringBoot项目发布

``
许久没有写博客了,今天刚好买了一台云服务器,就把自己前段时间做的一个Springboot项目放到服务器上,本来以为是很简单的一件事请,打一个war包,放入tomcat的webapps下,重启tomcat就大功告成了,没想到在部署的过程中除了各种各样的状况,索性趁着晚上有时间把一些要点记录下来。
1.修改pom.xml文件

<version>0.0.1-SNAPSHOT</version>
 <packaging>war</packaging>
将此处修改为war。
<dependency>
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-web</artifactId>
 		<!--  此处添加如下配置,目的是防止启动内置的tomcat--><exclusions>
 			<exclusion>
 				<groupId>org.springframework.boot</groupId>
 				<artifactId>spring-boot-starter-tomcat</artifactId>
 			</exclusion>
 		</exclusions> 
 	</dependency>

2.在原有启动类的同级目录上新建java文件,内容如下:

public class SpringBootStartApplication extends SpringBootServletInitializer{

 @Override
 protected SpringApplicationBuilder configure( SpringApplicationBuilder builder) {
 	// TODO Auto-generated method stub
 	return builder.sources(RedisApplication.class);
 }
}

在外部部署的时候,原有的启动类就不起作用了,添加的类的作用类似于通过web.xml的来启动。
3. 使用maven打包,将war包上传到要部署的tomcat中,启动tomcat。
4. 以上是全部步骤,接下来记录的是遇到的一些问题和解决方法。

  -------------------------------------------------------------------------------------------------------------------------------------------------------------
    --tomcat启动时报java.util.zip.zipException:error in opening zip file
    该问题是由于在linux环境下,项目下的jar包权限过高导致的,修改依赖jar包的权限,问题解决。
    --------------------------------------------------------------------------------------------------------------------------------------------------------------
    ---tomcat启动过慢,tomcat启动时间超过300s,
    04-Nov-2018 20:17:49.813 WARNING [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance 
    for session ID generation using [SHA1PRNG] took [355,975] milliseconds.
    这个是tomcat8启动的时候安全方面做的一些动作,导致启动的时候需要六分钟左右,感兴趣的同学可以查一下这个。
    这个我的解决办法是修改/usr/java/jdk1.8.0_11/jre/lib/security/java.security文件,修改内容如下:
    #securerandom.source=file:/dev/random
    securerandom.source=file:/dev/./urandom

猜你喜欢

转载自blog.csdn.net/qq_32617311/article/details/83721446