springboot项目启动报错排查

1,007 阅读1分钟

一、no main manifest attribute, in xxx.jar

springboot 项目打包成 jar 包后,启动报如下错误

no main manifest attribute, in leke-doubt.jar

在 pom.xml 文件中,增加如下配置,顺利解决该问题:

<build>
  <!-- 这里指定的名称就是最后 jar 的名称 -->
  <finalName>xxxx</finalName>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <executions>
        <execution>
          <goals>
            <goal>repackage</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
      </configuration>
    </plugin>
  </plugins>
</build>

二、springboot 项目启动无任何报错,直接退出

springboot 项目在启动过程中,无任何输出报错,启动后直接退出,这时有两种排查方式:

  • 将日志级别设置成 debug,查看有无异常信息输出
  • 在启动类上加上 try catch

第一种方式不做介绍,主要介绍第二种


直接在启动类上加上 try catch,如下所示,这样就能直接看到启动时的报错了

public static void main(String[] args) {
    try {
            SpringApplication.run(DoubtApplication.class, args);
    } catch (Throwable e) { // 加上 try catch,注意一定要使用 Throwable
            e.printStackTrace();
    }
    System.out.println("--------------------> start success !!!");
}

注意一定要使用 Throwable,不要使用Exception