在我开发项目的时候遇到了一个极其隐蔽的错误,启动springboot项目时一直报url错误,
以前的时候我用的是切换数据源,5.1.37到8.0.26来回切换,url一般是数据源的问题。
8.0.26配置如下
5.1.37配置如下
但是今天它启动项目还是报错,来回切换数据源也解决不了,然我又写了mybatis配置类
@Configuration
@MapperScan("com.softeem.music.core.mapper") // 扫描 Mapper 接口的包路径
public class DataSourceConfig {
@Primary // 当有多个数据源时,标记为主数据源
@Bean
@ConditionalOnMissingBean // 当容器中没有指定的 Bean 时,创建该 Bean
public DataSource dataSource() {
// 这里可以使用 HikariDataSource、DruidDataSource 等数据源的实现
// 例如,如果你使用 HikariDataSource:
return new HikariDataSource();
// return DataSourceBuilder.create().build();
}
@Bean
@ConditionalOnMissingBean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource);
// 指定 MyBatis Mapper XML 文件的路径
factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:com/softeem/music/core/mapper/xml/*.xml"));
return factoryBean.getObject();
}
@Bean
@ConditionalOnMissingBean
public PlatformTransactionManager transactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
}
结果还是不行,我就全部推到重来,搞了一个空项目,发现它启动的端口号是8080,默认端口,奇怪的是我已经配置了端口号,然后再里面写了nacos注册,nacos也没发现服务,配置文件根本没生效,所以根本不是数据源的问题,就在此时我无意间看到了target目录下它跟别的项目的文件目录不一样,少了配置文件
这就很奇怪,clear,install,清楚缓存都不行,最后我直接把yml文件给他复制进去,哎,好了
再pom文件加入以下配置
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>