简体   繁体   English

Maven依赖项仅下载pom而不是jar以获得较新版本

[英]Maven dependency is downloading only pom not jar for newer version

I have a dependency on JBoss's teiid framwork. 我依赖于JBoss的teiid框架。 If I add the dependency on older version it downloads the jar file while if I add dependency on newer version it only downloads pom file. 如果我添加对较旧版本的依赖关系,它将下载jar文件,而如果我添加对较新版本的依赖关系,则仅下载pom文件。 below is my pom config 下面是我的pom配置

repository: 库:

  <repository>
    <id>jboss-public-repository-group</id>
    <url>http://repository.jboss.org/nexus/content/groups/public/</url>
  </repository>

This will download jar 这将下载jar

<dependency>
    <groupId>org.jboss.teiid</groupId>
    <artifactId>teiid-client</artifactId>
    <version>8.5.0.Final</version>
</dependency>

This will download only pom file 这只会下载pom文件

<dependency>
    <groupId>org.jboss.teiid</groupId>
    <artifactId>teiid-client</artifactId>
    <version>8.9.1</version>
</dependency>

Update: Maven log 更新:Maven日志

[INFO] Scanning for projects...
[INFO] 
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building hello-teiid 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://repository.jboss.org/nexus/content/groups/public/org/jboss/teiid/teiid-client/8.9.1/teiid-client-8.9.1.pom
[INFO] Downloaded: http://repository.jboss.org/nexus/content/groups/public/org/jboss/teiid/teiid-client/8.9.1/teiid-client-8.9.1.pom (2 KB at 1.4 KB/sec)
[INFO] Downloading: http://repository.jboss.org/nexus/content/groups/public/org/jboss/as/jboss-as-parent/7.4.0.Final-redhat-4/jboss-as-parent-7.4.0.Final-redhat-4.pom
[INFO] Downloading: http://repo.maven.apache.org/maven2/org/jboss/as/jboss-as-parent/7.4.0.Final-redhat-4/jboss-as-parent-7.4.0.Final-redhat-4.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.047 s
[INFO] Finished at: 2015-01-28T09:41:17-05:00
[INFO] Final Memory: 6M/123M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project hello-teiid: Could not resolve dependencies for project hello:hello-teiid:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at org.jboss.teiid:teiid-client:jar:8.9.1: Failed to read artifact descriptor for org.jboss.teiid:teiid-client:jar:8.9.1: Could not find artifact org.jboss.as:jboss-as-parent:pom:7.4.0.Final-redhat-4 in jboss-public-repository-group (http://repository.jboss.org/nexus/content/groups/public/) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

If you search for this artifact in the jboss repo , you can see that in version 8.9.1 its packaging is "bundle" , while in version 8.5.0 it was defaulted to "jar" . 如果在jboss存储库中搜索此工件,则可以看到在8.9.1版中其包装为“ bundle” ,而在8.5.0版中则默认为“ jar”

Now that we have noticed this, we can relate to the comment of @AlexandrM, OSGI Bundle vs jar dependency , 现在我们已经注意到了这一点,我们可以将其与@AlexandrM的评论相关联, OSGI Bundle与jar依赖关系

or to be even more specific, Why can't maven find an osgi bundle dependency? 或更具体地说, 为什么Maven找不到osgi bundle依赖项? (note the 2nd answer, not the accepted one. Basically, you need to add a plugin that defines it, namely the maven-bundle-plugin ). (请注意第二个答案,而不是公认的答案。 基本上,您需要添加一个定义它的插件,即maven-bundle-plugin )。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM