記錄回家第一天的bug解決和心理過程

1、先說正事

背景:Mac下乾淨的環境,配置實驗室工程所需開發環境,遇到了一系列的問題

工程是用Springboot+maven+vue組成的,使用的IDE是IDEA

問題1:在IDEA 下右邊框裏的Maven---reimport maven all projects後告訴我無法import ,log日誌如下

ERROR -      #org.jetbrains.idea.maven - com.google.inject.CreationException: Unable to create injector, see the following errors:

1) No implementation for org.apache.maven.model.path.PathTranslator was bound.
  while locating org.apache.maven.model.path.PathTranslator
    for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.pathTranslator(Unknown Source)
  at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)

2) No implementation for org.apache.maven.model.path.UrlNormalizer was bound.
  while locating org.apache.maven.model.path.UrlNormalizer
    for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.urlNormalizer(Unknown Source)
  at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)

2 errors 

這個問題 

我根據這個一句

No implementation for org.apache.maven.model.path.PathTranslator was bound.

百度看了一圈,最相近的是這一篇?在這 關於ideal2019版本配置maven問題  https://ask.csdn.net/questions/789238

我獨立安裝的是maven3.6.2 下面評論區大佬告訴我,3.6.2版本不穩定,建議回退版本,看到好幾個大佬是這樣說的,因此,我選擇嘗試方法,一頓操作猛如虎(上面的問題已經讓我非常熟練的卸裝配置path,更改IDEA裏的配置),但是官網下載有點慢,外國服務器的通病,快速的更換了版本,主要操作如下

1、下載maven舊版本,開始找了半天,也有可能是英語不好,看不懂,因此看的是這篇 Maven歷史版本下載  https://blog.csdn.net/STIll_ly/article/details/80905149

2、還是放在usr/local/底下和我的3.6.2放在一起,然後更改path,配置環境變量方法如下

在終端打開配置環境變量到文件:
1)在終端輸入  vim ~/.bash_profile,進入到環境變量配置文件裏面;
2)進入後,是read模式,按下 i (編輯)鍵,進入insert模式;
3)將環境變量加入其實,環境變量如下:
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$PATH:$MAVEN_HOME/bin
4)按下 ESC,退出insert模式;
5)輸入 :wq (保存修改)退出當前文件;
6)使修改的環境變量bash_profile文件生效,輸入 source .bash_profile,按下Enter鍵即可.
7)檢驗環境變量是否改成功,重新打開終端 mvn -v,顯示版本號

3、 修改maven配置文件,改conf/setting.xml文件,添加maven阿里雲鏡像,這個你們可以去搜,網上大多正確

注意注意:錯誤的地方來了:有些配置maven的博文,讓改maven的倉庫repository地址,我就改了,導致我IDEA配置maven-local repository的時候,修改使用本地maven和本地倉庫,結果,IDEA還是找不到我導在本地倉庫的jar文件,改了使用本地倉庫地址也沒同步,我醉了,然後,下一次我就聰明瞭,都默認,沒事改什麼倉庫地址配置。

--總結:maven配置文件只需要添加鏡像,聽我的,別改倉庫地址,配置IDEA的maven時,改上面兩行就行,local repository使用默認的,這個在本地maven settings裏也有註釋告訴你,默認的就是這個地址

然後,再maven-reimport 就不報錯了 ,告訴我們一個道理,退幾個版本是安全的。

 

問題2:安裝本地maven,配置IDEA使用本地的maven和倉庫,但是裏面的工程依然訪問不到裏面的jar,缺了特別多的包

解決方法:安裝本地maven,maven不要修改倉庫地址---配置IDEAmaven項,只配置前兩行,倉庫也不要修改,如下圖

問題3:運行maven工程,報錯如下

java: -source 1.6 中不支持 diamond 運算符 (請使用 -source 7 或更高版本以啓用)
-source 1.7 中不支持 lambda 表達式(請使用 -source 8 或更高版本以啓用 lambda 表達式)

當時,其實有好幾行報錯,我按照上面一行搜索,結果告訴我,是因爲IDEA和maven用的jdk不是一個版本的,我按照,以下鏈接檢查,並沒有用。按照第2行搜索,出來靠譜解決方法https://blog.csdn.net/qwdafedv/article/details/54691740

同時參考:https://blog.csdn.net/w893932747/article/details/90518725

首先檢查版本,大概有好多方面,有2個比較全的文章(僅供參考)

https://blog.csdn.net/weixin_40649505/article/details/80229794

https://blog.csdn.net/binbinczsohu/article/details/86540416

其次,檢查setting文件,發現默認的jdk使用1.4,把它改成1.8,添加內容如下

<profile>  
    <id>jdk18</id>  
    <activation>  
        <activeByDefault>true</activeByDefault>  
        <jdk>1.8</jdk>  
    </activation>  
    <properties>  
        <maven.compiler.source>1.8</maven.compiler.source>  
        <maven.compiler.target>1.8</maven.compiler.target>  
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  
    </properties>   
</profile>

總結--不要只揪着一個錯誤不放,多搜搜其他的錯誤,沒準就有靠譜解決方法了,現在網上內容真假難辨,慎重啊大家!!

問題4:mac下pgsql+pgadmin的安裝坎坷之路

開始先下載瞭解壓版,然後發現找不到配置的地方(後來發現,其實解壓版很好用,但我不喜歡裝一堆獨立的軟件的感覺,喜歡用集成器幫你裝)

Mac最好的安裝pgsql的方法是使用brew install postgresql

然後他會自動幫你下載到brew文件下,同時拷貝一份到usr/local/var/postgresql,這個就不需要初始化了,然後建立用戶,數據庫。這就可以了。需要遠程連接,可以設置遠程連接,網上教程一抓一大把。

pgadmin的安裝踩了些坑,首先下載了最新版本的pgadmin4,然後發現mac打不開,然後我又去下載了pgadmin3,發現打得開,但是明顯感覺到非常不適配,然後我又下載了pgadmin4.1.6和4.3.6,4.1.6報錯,4.3.6正常,就是我想要的那個web版可視化界面,然後新建服務器-數據庫-連接localhost:5432本地pg數據庫,導入備份,完美~忍不住吐槽一下,這個軟件對mac太不友好了吧

問題5:vue工程使用npm install構建工程,報錯

MacBook:modeler-web root$ npm install
npm WARN tarball tarball data for [email protected] (sha512-FLOXyzoMCXY+8Y3klkbH4lMz/hfy/sRHXBv9xPfgVZ04o0Kxp9t3+TqFl6SlNhu/QVJmBKh5caHcnktZCPOGLw==) seems to be corrupted. Trying one more time.
npm WARN tarball tarball data for [email protected] (sha512-FLOXyzoMCXY+8Y3klkbH4lMz/hfy/sRHXBv9xPfgVZ04o0Kxp9t3+TqFl6SlNhu/QVJmBKh5caHcnktZCPOGLw==) seems to be corrupted. Trying one more time.
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/core-util-is-732ae849/test.js'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/eslint-config-prettier-ada45224/LICENSE'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/core-util-is-732ae849/float.patch'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/vue-grid-layout-f38d8a15/test/interact-test.html'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/eslint-config-prettier-ada45224/react.js'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/vue-grid-layout-f38d8a15/test/interact-test.js'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/eslint-config-prettier-ada45224/README.md'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/vue-grid-layout-f38d8a15/.github/ISSUE_TEMPLATE/bug_report.md'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/ci-info-30cefddf/vendors.json'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/vue-grid-layout-f38d8a15/.github/ISSUE_TEMPLATE/feature_request.md'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/he-a1f5265f/LICENSE-MIT.txt'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/eslint-config-prettier-ada45224/standard.js'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/vue-grid-layout-f38d8a15/src/assets/logo.png'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/he-a1f5265f/README.md'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/vue-grid-layout-f38d8a15/src/components/CustomDragElement.vue'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/vue-grid-layout-f38d8a15/src/components/GridItem.vue'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/codepage-bbfcd7fe/cputils.js'
npm WARN tar ENOENT: no such file or directory, open '/Users/root/file/DWF3.0/modeler-web/node_modules/.staging/prettier-5bc1f342/parser-vue.js'
npm ERR! code EINTEGRITY
npm ERR! Verification failed while extracting [email protected]:
npm ERR! Verification failed while extracting [email protected]:
npm ERR! sha512-FLOXyzoMCXY+8Y3klkbH4lMz/hfy/sRHXBv9xPfgVZ04o0Kxp9t3+TqFl6SlNhu/QVJmBKh5caHcnktZCPOGLw== integrity checksum failed when using sha512: wanted sha512-FLOXyzoMCXY+8Y3klkbH4lMz/hfy/sRHXBv9xPfgVZ04o0Kxp9t3+TqFl6SlNhu/QVJmBKh5caHcnktZCPOGLw== but got sha512-pKiSJmla7aHGKqI/t4nrehfoJgHdmanEbdR6TQU59m0JP1Md6YZtaQNUq7mRLspd6+1WULOLOQDraU5nF90j0Q==. (942694 bytes)

表面上是 [email protected] 版本問題,我就按照網上很多教程說的回退npm版本,但是結果並沒有什麼用,搞了至少好幾天,又放了一段時間。

解決方法:原因可能是,我安裝了cnpm的原因,不能混用,改成cnpm install就成功了,我其實也驚了,就這麼簡單哎除了程序員,誰每天時在解決一個一個未知的錯誤中度過的

2、自己給自己叨叨

昨天半天也是這樣,遇到好多bug就會這樣,感覺人生失去了心念,我怎麼這麼菜,一天天啥也幹不了,當處理完的時候就賊有成就感,自己好厲害啊,還是有厲害之處的哈哈哈哈

最近剛換了電腦,感覺macOS系統確實和用了5年的windows不同,更純淨,像Linux-centos一類的,乾淨得會讓我有一種錯覺,捨不得改一些東西,怕改壞了,毀掉了這個美麗的系統

我覺得做事,就要一步到位,不要反反覆覆做一件事情,浪費時間和精力和耐心

以後記得保留下來自己的解決方法,這樣子遇到相同問題,不會覺得“啊,好熟悉,我之前怎麼解決的呢”,腦子不好就記下來。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章