
# 启动失败
#### 问题现象
部署"启动/停止SpringBoot服务"中的启动命令时，日志显示启动失败"The SpringBoot service startup failed"。
#### 原因分析
启动失败可能有如下原因：
- 端口被占用。
- JDK未安装，或环境变量配置错误。
- 参数大小设置不合理或参数使用错误。
- 页面输入的服务绝对路径有误。
- 通过"选择部署来源"部署步骤下载jar包时，若jar文件命名中包含中文字符，且选择下载的文件为文件夹时，会出现中文乱码，造成当前启动操作无法找到指定jar文件。
 
#### 处理方法
请按如下方法进行排查修改：
1. 可使用如下命令排查端口占用情况，若被占用，请修改端口号后重新部署。
   - Linux
     ```
     lsof -i:8080
     netstat -anp|grep 8080
     ```
     
   
   
   
   - Windows
     ```
     netstat -ano|findstr “8080”
     ```
     
    

2. 可使用如下命令检测Java环境，若未安装JDK，可通过"安装JDK"部署步骤进行安装。
   - Linux
     ```
     java -version
     which java
     ```
     
   
   - Windows
     ```
     java -version
     ```
     
   
   
   **情况一：** 若系统为Linux系统，**JDK** 为手动安装，由于当前启动操作为"no_login"方式，还需在以下文件中增加JDK环境变量
   - **Ubuntu**: \~/.bashrc 和 \~/.profile
   
   - **CentOS** : \~/.bashrc 和 \~/.bash_profile
     所需环境变量配置示例如下：
     - export JAVA_HOME=/usr/local/jdk/jdk1.8.0_151
     
     - export CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
     
     - export PATH=$JAVA_HOME/bin:$PATH
      
    
   **情况二** ：若系统为Linux系统，**JDK** 使用"安装JDK"部署步骤安装，安装版本为"openjdk-1.8.0"时，无需手动配置JDK，应在以下文件中去除JDK环境变量的相关配置
   - **Ubuntu**: \~/.bashrc 和 \~/.profile
   
   - **CentOS**: \~/.bashrc 和 \~/.bash_profile
     

3. 合理设置Java运行参数，命令行参数正确放置于对应的文本框内，系统变量与命令行参数之间的区别请参见[启动/停止SpringBoot服务](https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_23211.html)章节。
4. 确认输入的服务路径，若不正确，请修改后重新部署。
5. "选择部署来源"部署步骤中直接选择jar文件进行下载，当需要通过文件夹下载多个jar文件时，jar文件命名中不要出现中文字符。
6. 若按以上方式排查后仍存在启动失败问题，可查看服务启动日志，根据日志信息进行问题定位。
 
