SpringBoot项目发布
程序员文章站
2024-01-29 14:00:10
...
``
许久没有写博客了,今天刚好卖了一台云服务器,就把自己前段时间做的一个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
上一篇: Leetcode链表总结
下一篇: 字节跳动前端一面经历