陨石坑

一、坑(多模块开发)

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

posted @ 2023-02-03 13:47  小肥糕  阅读(89)  评论(0)    收藏  举报