1 Maven配置問題
首先檢查一下自己的maven版本,maven版本過低可能會存在版本匹配找不到對應的版本庫問題。建議升級3.0+以上的。
其次是鏡像,將mirrorOf標簽內替換為central。說明:修改文件中<mirror>
標簽中<mirrorOf>
標簽,這個標簽的值可以是*
,central
,Maven
。
*
的意思是只在此鏡像地址進行下載,如果不能正常下載,可以修改·<mirrorOf>
標簽為central
或者Maven
。
完整如下:阿里雲的Maven鏡像已經做了https升級和倉庫細化
<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>Maven</mirrorOf> <name>Nexus aliyun</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors>
由於使用了https,存在着SSL證書驗證的問題。所以,在修改完maven的settings文件之后,還需要在IDEA的File->Setting中進行配置,設置忽略SSL證書的驗證
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
自此 maven問題搞定。
2 版本號問題
在導入依賴時,我在之前用過的項目的依賴復制過來,總是提示我not found
沒辦法,只有去找對應的版本號
spring-cloud-dependencies在Maven中央倉庫查找:https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies
spring-cloud-alibaba-dependencies去github找:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

完整如下:
<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR3</version> <type>pom</type> <scope>runtime</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.5.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies>
3 需要去下載對應的模塊
如nacos,sentinel等等
ctrl+點擊spring-cloud-alibaba-dependencies進入配置頁查看對應的版本,如這里的nacos client就需要1.4.1
然后就去下載:https://github.com/alibaba/nacos.下載解壓並打開startup.cmd即可。
4 nacos啟動失敗
用文本編輯工具打開startup.cmd
nacos默認集群啟動,未配置的情況下需修改為單機啟動
set MODE=“cluster”
修改為
set MODE=“standalone”
5子模塊問題
1 四大注意事項
父pom需要添加<packaging>pom</packaging>。
父pom需要用<modules><module>子module名</module></modules>注明子module有哪些。
父pom聲明依賴時<dependencies>外要嵌套<dependencyManagement>才能被子pom繼承到,我就是忘了這點。
子pom需要通過<parent></parent>指定父項目,聲明依賴時就默認會用父pom中的版本了。