学习阳光沙滩博客系统JavaWeb课程到一百多课的时候,遇到了一个奇怪的问题:
Could not load conf for core gob_blog_core: Error loading both non-managed schema 'schema.xml' and managed schema 'managed-schema'
没找到managed-schema?不至于啊,我肯定是已经写进去了的。
抱着可能自己真的没有写入的可能性,我重新审阅了几遍的Dockerfile,发现好像没什么问题吧?
后来又反复删除,重新配置了好几次,无果,都会出现同一个结果,和上面一样的报错。
感觉有点离谱,心情烦躁,跑出去溜了好几圈,回来冷静下来继续尝试,又是两三个小时的时间浪费,进行了包括但不限于修改版本,修改配置的方式等等。但都没有用
然后看到了一位小伙伴的帖子,docker 安装solar5.5.5并且配置中文分词器,而后我开始仿照他的方式开始配置,还是没有用,依然是一样的,会出现无法找到managed-schema的情况。
仔细思考了一下,我开始进入容器中一层一层地对比文件,终于让我发现了一个震惊的事情,在第一次尚未copy文件到conf里面的时候,它是长成这个样子的:
而copy完文件后,再一次查看,它长这样:
(呜呜呜,第一次发文章,图片没有上传到资源,没有办法显示,昨天的截屏已经丢失了,只能看一下当时和群友讨论时候的截屏了)
这是使用指令手动copy进solr容器时的样子,如果用康师傅的方法直接配置的话,这边的用户组是root。
???两次managed-schema的用户和用户组不一样?WHAT?真的是绝了,谷歌百度了半天,似乎记忆中出现过类似的问题描述,但是又好像没有,真的是血泪教训,找了半天,这是ubuntu20.04的问题吗……
于是我开始了修改之旅。
第一次尚未清楚到底如何修改,exec进入容器后蹭蹭蹭跑到文件下面,输入了
chown solr:solr managed-schema
一个回车,没用?嗨,没权限
再次输入
sudo docker exec -it -u root sob-blog-solr /bin/bash
恩,又是蹭蹭蹭跑到对应文件夹下面
chown solr:solr managed-schema
修改成功
重新ls -l一下
终于,用户组变回了solr,怀着激动的心情在浏览器中刷新一次,成功了!终于连上了!泪流满面……