陨石坑
一、坑(多模块开发)
1.新建模块(Type要选对)

2.父模块的pom.xml中加入子模块
<modules>
<module>eladmin-pdgc</module>
</modules>
3.所有模块无需逐个启动,只需有一个工程入口即可(在工程入口模块的pom.xml中加其他子模块的依赖)
<dependency>
<groupId>me.zhengjie</groupId>
<artifactId>eladmin-pdgc</artifactId>
<version>2.6</version>
</dependency>
二、坑(EasyExcel)
1.com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoClassDefFoundError
问题:poi&poi-ooxm 与 easyexcel版本不一致
解决方法:提升easyexcel版本或者降低poi&poi-ooxm版本
2.前端根据路径从服务器下载文件并压缩
参考:https://blog.csdn.net/tianpeng1996/article/details/125764898
ExcelExport2RAR(){
pwgcProjectSettlement.ExcelExport2RAR({'projectId': this.projectId}).then(res => {
let blogTitle = '竣工资料';
let zip = new JSZip();
let promises = [];
let cache = {};
let arr = [];
for (let i=0;i<res.length;i++){
console.log(res[i].url)
arr.push({
name:res[i].name,
url:res[i].url
});
}
for (let item of arr){
const promise = this.getArrBuffer(item.url).then((data) => {
zip.file(item.name, data, {binary:true});
cache[item.name] = data;
});
promises.push(promise);
}
Promise.all(promises).then(() => {
zip.generateAsync({type: "blob"}).then((content) => {
FileSaver.saveAs(content, blogTitle);
});
})
}).catch(err => {
console.log(err)
})
},
getArrBuffer(url){
return new Promise((resolve,reject) => {
let xmlHttp =new XMLHttpRequest();
xmlHttp.open("GET", url, true);
xmlHttp.responseType = "blob";
xmlHttp.onload = function () {
if(this.status == 200){
resolve(this.response);
} else{
reject(this.status);
}
};
xmlHttp.send();
});
}
三、坑(mysql)
1.Authentication plugin ‘caching_sha2_password‘ cannot be loaded

报错原因:MySQL8.0之前的版本中加密规则是mysql_native_password
而在MySQL8.0之后,加密规则是caching_sha2_password
解决方法:1.升级Navicat驱动(如果用的是破译版,此方法不大可行)
2.MySQL用户登录密码加密规则还原成mysql_native_password
步骤:①登录mysql②修改账户密码加密规则并更新用户密码③刷新权限并重置密码④重置密码

该解决方法来自:https://blog.csdn.net/qq_46059247/article/details/125333706
四、坑(ElementUI)
问题:无法为组件动态添加类名
原因:<style scoped>内,父组件无法干预子组件内部(非根节点)的样式
解析:CSS代码编译后,每个子组件后面会带上自己的hash 以及 父组件的hash ,形式如:【data-v-xxx】(ps:CSS样式是通过hash值来寻找并进行赋予的)
比如:
父组件为 子组件为
<div class="father"> <template>
<Child></Child> <div>
</div> <span class="child">children</span>
<style scoped> </div>
.father .child{background-color:red;} </template>
</style>
编译后
.father .child [data-v-a1b1c1],子组件div为 <div [data-v-a1b1c1] [data-v-a2b2c2] >,匹配不上所以导致影响不了
解决方法:通过 ::deep{} 或者 >>> (具体使用参考百度)
五、坑(Tomcat)
问题:org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
原因:请求时间过长
解决:在yml中添加 server.connection-timeout:60000

浙公网安备 33010602011771号