MainApplication在默认包下,则没有定义包,所以会报错。没有包则不存在子包的概念。(注:这里的默认包就是maven项目的java文件夹)
我们使用@SpringBootApplication代替@EnableAutoConfiguration和@ComponentScan("controller"),如果Controller在MainApplication的子包下面,则不需要扫描包,但这里MainApplication没有在自定义包下。
解决方案有两种:
第一种,仍然使用@EnableAutoConfiguration和@ComponentScan("controller")注解,其中@ComponentScan注解的扫描包指向控制器类所在的包。
第二种,创建包,将MainAppplication放进去,如下图所示:
异常原因MainApplication在默认包下,则没有定义包,所以会报错。没有包则不存在子包的概念。(注:这里的默认包就是maven项目的java文件夹)我们使用@SpringBootApplication代替@EnableAutoConfiguration和@ComponentScan("controller"),如果Controller在MainApplication的子包下面,则不需要扫描包,但这里MainApplication没有在自定义包下。解决解决方案有两种:第
Student:父工程Maven
main:子模块,也是启动类Main
Application
所在的模块,main依赖其他模块
common、core、student等:子模块。除main模块之外,依赖部分或不依赖的其他模块
注意事项:父工程创建为Maven,启动类所在模块创建时一定要用
SpringBoot
项目,其他子模块创建时Maven、
SpringBoot
都可以。
2.各个模块pom文件配置
父工程Student
<?xml ver
根据飘红显示的解释可以看出,我们的主类放在了默认的包,即main函数直接放在了Java目录下。
由于主类中的@
SpringBoot
Application
z注解会自动扫描当前包下面及其子包下面的所有组件,并将这些组件加载到
spring
容器里面。而在默认包下,相当于
没有
定义包,更没子包的概念,所以会
报错
。
将主类移动至一.
maven版本是3.6.3,通常情况下的maven在plugins中有
package
选项,但是我的不知道为什么
没有
这个选项。页面如下:
【有大神知道怎么调出来
package
请指点!感激!】
所以在打包jar的时候就不能用“
package
”直接双击了。这时候需要用terminal界面进行打包,命令是 mvn
package
(或者mvn clean
package
,这个先清除之前的然后再打包)。若命令爆红不好用转2.看解决方案
需要注意的是可以在pom文件配置中加入这一段,则可以一直使用【mvn pack.
springboot
项目打包时
提示
“程序包xxx不存在,找不到符号”
springboot
多包工程,在使用maven进行打包的时候,一直
提示
“程序包xxx不存在,找不到符号”,但项目是可以正常启动运行的,开始一直以为是maven哪里
没有
配置好导致的,后来才发现原来是
springboot
的maven插件导致的。
springboot
项目打包时
提示
“程序包xxx不存在,找不到符号”
项目结构:
xxx-parent:顶级父工程
xxx-a:子项目1
xxx-b:子项目2
xxx-c:子项目3
依赖关系:
1.创建父子工程
在IDEA中使用
Spring
Initializr的方式创建
SpringBoot
工程,GroupId为域.公司名,例如com.company,Artifact为项目名,例如testproject,主要注意父子项目保持组名一致