按照步骤来总会解决的

  • 检查pom.xml中是否加入了spring boot maven插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
  • 检查项目中是否有main方法并且main方法上是否有 @SpringBootApplication 注解
mvn 会自动在项目中早main方法加入到jar中的主清单属性中
如果没有没有找到main方法,当你打包的时候就会报错 "Unable to find main class"
  • 检查项目中是否有多个main方法
如果项目中存在多个main方法,mvn会不知道你究竟想要用哪个main方法作为jar包的清单属性
所以这个时候你必须要在pom.xml文件中指定一个 mainClass <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.**.**.testApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>
  • 检查项目结构
mvn 之所以能找到项目中的main方法,是因为mvn有一套自己的项目结构
例如:
source (源码) 目录:
/src/main/java
resources (所需资源) 目录:
/src/main/resources 所以需要检查我们的项目结构是否是按照maven的默认项目结构的标准
在IDEA中,如果项目结构不是这种默认的结构的话,我们需要在IDEA中指定source或resources目录
如果已经按照这种默认项目结构的标准导入IDEA是不需要手动指定source的
同理,如果不按照这种默认标准创建项目mvn默认也不认识项目中的source
所以我们也可以通过如下配置指定source和resource目录 <build> <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
</resources> <plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.**.**.testApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build> 但是不推荐修改默认的项目结构,还是推荐使用maven提供的默认项目结构来创建项目

https://maven.apache.org/pom.html

spring boot 项目 mvn clean install 报 "Unable to find main class" 的解决方法的更多相关文章

  1. spring boot 项目使用idea正常打包后执行总是出现异常,解决办法

    众所周知,spring boot 在构建项目时,确实为Java程序员们省了不少力气,打包项目非常容易. 上周在项目中遇到打包后的项目总是无法运行,困扰了我们团队将近两天才找到原因. 图和真相在这里.

  2. spring boot 2.x静态资源会被HandlerInterceptor拦截的原因和解决方法

    在spring boot 1.5.x中,resources/static目录下的静态资源可以直接访问,并且访问路径上不用带static,比如静态资源放置位置如下图所示: 那么访问静态资源的路径可以是: ...

  3. maven项目 mvn clean install 或 build,报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test

    解决办法 在pom文件中添加

  4. git使用mvn clean install 报错原因排查

    使用命令行git-bath.exe 来拉代码并进行编译之类的服务,结果在拉依赖时一直报错连的是144.131.254.26,看了maven的setting配置 文件 没并没有错, 最终定位问题是 gi ...

  5. Intellij IDEA Spring Boot 项目Debug模式启动缓慢问题

    问题 Intellij IDEA Spring Boot 项目Debug模式启动缓慢 环境 os: windows10 idea :2018.1 解决方法 去除所有断点就正常了,很诡异,原因未知.

  6. spring boot项目如何测试,如何部署

    有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元 ...

  7. Spring Boot项目使用Eclipse进行断点调试Debug

    1.在命令行下定位到项目根目录,启动Spring Boot项目,命令如下: java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=80 ...

  8. Spring Boot项目@RestController使用重定向redirect

    Spring MVC项目中页面重定向一般使用return "redirect:/other/controller/";即可.而Spring Boot使用了@RestControll ...

  9. 如何解决spring boot 项目导入依赖后代码报错问题

    如何解决spring boot 项目导入依赖后代码报错问题 2020-08-15  14:17:18 代码截图如图所示(由于本人问题已经解决,没来得及截图,所以在网上找了一张图片)

随机推荐

  1. js利用cookie登录网站

    如上图,我们获取到了cookie,接下来利用cookie登录相应的网站. 我用的浏览器是火狐,首先在特定的网站(也就是我们发现XSS漏洞的网站,这里指的是pikachu)F12打开开发者工具,找到控制 ...

  2. JSP九大内置对象及其作用以及四大域对象

    一,什么是内置对象? 在jsp开发中会频繁使用到一些对象,如ServletContext HttpSession PageContext等.如果每次我们在jsp页面中需要使用这些对象都要自己亲自动手创 ...

  3. junit Mockito使用入门

    junit Mockito使用入门 准备 在我们进一步讨论之前,让我们探索几种不同的方法来启用Mockito测试中注释的使用. 方式一 MockitoJUnitRunner 我们拥有的第一个选择是使用 ...

  4. 使用TensorFlow v2.0构建卷积神经网络

    使用TensorFlow v2.0构建卷积神经网络. 这个例子使用低级方法来更好地理解构建卷积神经网络和训练过程背后的所有机制. CNN 概述 MNIST 数据集概述 此示例使用手写数字的MNIST数 ...

  5. adb基本命令操作(四)

    一,基本操作命令 adb shell:进入手机系统 说明:root表示手机当前的操作用户,也是最高权限操作者 cd ,可以切换目录,执行cd /sdcard  表示手机内部的存储路径,也是表示内部存储 ...

  6. 1.NET Core 概述

    .NET Core 概述 .NET Core是一个免费的.开源的.跨平台的.广泛使用的Web框架:它是由微软维护的.社区广泛参与支持的一个框架..NET Core可以运行在:Windows.MacOS ...

  7. 超图iserver登录密码忘记,重置密码

    如果大家在用超图iserver发布服务的过程中将登录密码忘记,大家不要慌,iserver自带的有密码重置功能. 1.首先在登录过程中提示密码错误,具体内容如下图所示: 2.首先先停止iserver服务 ...

  8. coding++:Spring_IOC(控制反转)详解

    IoC是什么: 1):Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想. 2):在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的 ...

  9. redis 练习

    redis-server启动服务 redis-cli 进入redis redis 常用的keys键操作: exists key  ---检查key是否存在 del key1 key2 ---删除指定的 ...

  10. JMeter 接口测试 自动生成签名机制

    在进行接口测试时,遇到接口进行了签名校验,为实现自动生成签名,经过一点研究终于成功. 首先,需要从前端获取 签名加密包  XXXsign.jar..  建议将该jar包放在 jmeter lib 目录 ...