这是代码:
这是问题:
第28行是 ConfigurableApplicationContext application = SpringApplication.run(SpringProjectApplication.class, args);
搜了一圈,都没找到解决办法,有没有哪位兄弟姐妹帮帮忙啊。
这是代码:
这是问题:
第28行是 ConfigurableApplicationContext application = SpringApplication.run(SpringProjectApplication.class, args);
搜了一圈,都没找到解决办法,有没有哪位兄弟姐妹帮帮忙啊。
以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
这个问题的目的是要解决SpringBoot项目启动时遇到的java.lang.IllegalStateException
异常,这个异常是由于尝试排除一个非自动配置类导致的。
SpringBoot的自动配置机制允许你通过@SpringBootApplication
注解的exclude
属性来排除某些自动配置类。然而,DruidDataSourceAutoConfigure并不是SpringBoot的自动配置类,因此不能被排除。这个错误表明在SpringBoot的自动配置过程中,尝试排除了一个它不认识的类。
最优的解决方案是修正@SpringBootApplication
注解中的exclude
属性,确保它只排除那些SpringBoot实际会尝试自动配置的类。
修改后的启动类代码可能如下所示:
@SpringBootApplication
@MapperScan("com.project.mapper")
@Slf4j
public class SpringProjectApplication {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) throws Exception {
ConfigurableApplicationContext application = SpringApplication.run(SpringProjectApplication.class, args);
Environment env = application.getEnvironment();
log.info("\n\n"
+ "Application '{}' is running! Access URLs:\n\t"
+ "Login:\thttp://{}:{}/index/login\n\t",
env.getProperty("spring.application.name"),
InetAddress.getLocalHost().getHostAddress(),
env.getProperty("server.port"));
}
}
SpringProjectApplication.java
的文件中,这个文件应该位于项目的主包下。SpringProjectApplication
类的main
方法。如果代码没有问题,SpringBoot应用将成功启动,控制台将打印出应用的运行信息,包括应用名称、主机地址和端口号,以及登录的URL。
Application 'spring-project' is running! Access URLs:
Login: http://127.0.0.1:8080/index/login
请注意,上述运行结果中的URL可能会根据你的spring.application.name
和server.port
的配置有所不同。