簡體   English   中英

pom.xml 中的“缺少工件”錯誤

[英]“Missing artifact” errors in pom.xml

這是我的 pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
   <groupId>cassandra</groupId>
   <artifactId>connector</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <name>cassandra</name>
   <description>cassandra connector</description>
<dependencies>
<dependency>
    <groupId>com.datastax.cassandra</groupId>
    <artifactId>cassandra-driver-core</artifactId>
    <version>2.1.5</version>
</dependency>

</dependencies>
</project>

錯誤顯示在第 12 行 我從這里復制並粘貼了 Maven 依賴項。

http://mvnrepository.com/artifact/com.datastax.cassandra/cassandra-driver-core/2.1.5

擺脫此錯誤的一種方法是從以下 URL 下載本地計算機上的捆綁文件並嘗試使用以下 mvn:install 命令在本地存儲庫中更新它。

http://central.maven.org/maven2/com/datastax/cassandra/cassandra-driver-core/2.1.5/cassandra-driver-core-2.1.5.jar

mvn install:install-file -Dfile="cassandra-driver-core-2.1.5.jar" -DgroupId=com.datastax.cassandra -DartifactId=cassandra-driver-core -Dversion=2.1.5 -Dpackaging=jar

或者其他方式,如果您連接到像 Nexus 這樣的 Maven 存儲庫並有權更新您的存儲庫,那么您可以使用下面的 mvn:deploy 命令將您的包部署到 Nexus。

mvn deploy:deploy-file -Durl=http://<>:<>/nexus/content/groups/public -DrepositoryId=nexuspublic -Dfile="cassandra-driver-core-2.1.5.jar" -DgroupId=com .datastax.cassandra -DartifactId=cassandra-driver-core -Dversion=2.1.5 -Dpackaging=jar

就我而言,我發現了導致此問題的兩個問題,首先,舊版本通常會引發此類錯誤,因此請確保使用最新版本的依賴項。 其次,使用 nexus 而不是 maven 存儲庫解決了我的問題,它不再說“缺少工件”,當我在https://mvnrepository.com/artifact/pentaho-kettle/kettle-engine/ 中看到一條注釋時,我發現了這一點9.3.0.0-115表明該工件實際上在 nexus 存儲庫中。 最后,嘗試與您的版本保持一致,例如,如果您對同一個包使用多個依賴項,請堅持使用相同的版本,因為我相信它們彼此最兼容(最好是最新版本)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM