問題描述:
項(xiàng)目打包時(shí),類缺少依賴,操作 pom.xml -> Maven -> Reload project ,還是不生效,但是同事(別人)那里正常。
問題出現(xiàn)的環(huán)境:
- 可能項(xiàng)目是多模塊項(xiàng)目,結(jié)構(gòu)例如:
my-project
|-- pom.xml(根項(xiàng)目)
|-- module-1
| `-- pom.xml
|-- module-2
| `-- pom.xml
`-- module-3
`-- pom.xml
- 可能繼承另一個(gè)項(xiàng)目(項(xiàng)目是快照版本),例如:
<parent>
<groupId>other.project.groupId</groupId>
<artifactId>project_artifactId</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
- 可能依賴是快照版本,例如:
<dependency>
<groupId>other.project.groupId<</groupId>
<artifactId>project_artifactId</artifactId>
<version>2.0.0-SNAPSHOT</version>
</dependency>
問題分析:
Maven 查找依賴的順序是 1.本地依賴 2. 私倉(cāng) 3. 中央倉(cāng)庫(kù),當(dāng)類出現(xiàn)引入錯(cuò)誤,但是(快照)依賴配置正確,問題可能是 快照依賴沒有發(fā)布到 私倉(cāng), 或者你的本地Maven 沒有拉取最新的快照依賴。
在默認(rèn)情況下,Maven 并不會(huì)一直拉取快照依賴。
問題解決:
- IDEA 項(xiàng)目配置
2. Maven setting.xml 配置快照策略文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-817449.html
<repository>
<id>snapshots</id>
<url>your_snapshots_path</url>
<snapshots>
<enabled>true</enabled>
<!-- 配置快照拉取策略 -->
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
<repository>
updatePolicy可以根據(jù)自身需求配置:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-817449.html
- always : 總是檢查最新的快照版本。
- daily : 每天檢查一次遠(yuǎn)程倉(cāng)庫(kù)以獲取最新的快照版本
- interval:X : 每隔 X 分鐘檢查一次遠(yuǎn)程倉(cāng)庫(kù)以獲取最新的快照版本。
- never : 從不檢查遠(yuǎn)程倉(cāng)庫(kù)以獲取最新的快照版本。
- 命令方式, Maven 強(qiáng)制拉取快照(Snapshot)依賴而不依賴本地緩存
mvn clean install -U
到了這里,關(guān)于Maven 打包時(shí),依賴配置正確,但是類引入出現(xiàn)錯(cuò)誤,一般是快照(Snapshot)依賴?yán)〔呗詥栴}的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!