繁体   English   中英

依赖项的Maven错误:缺少工件

[英]Maven error on dependency: missing artifact

昨天我问了这个问题,事实证明这是一个Maven问题。 尽管我能够找到一种解决方法(与Geronimo而不是Java JMS一起使用),但我无法弄清Java JMS解决方案为何无法正常工作。

我不喜欢重复问题,但我不认为这是一个骗子,因为它是一个完全不同的原始问题。

因此,我正在尝试使JMS与我的应用程序一起使用,以便可以将消息推送到本地队列。 在我的Maven pom.xml ,添加以下依赖项声明:

<dependencies>
    <dependency>
        <groupId>javax.jms</groupId>
        <artifactId>jms</artifactId>
        <version>1.1</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

马上,( 使用Eclipse )得到一个(红色)突出显示的错误,指出:

缺少工件javax.jms:jms:jar:1.1

当我用另一个JMS API(例如Geronimo)替换它时,错误消失了。 参考(Java)JMS依赖关系是否有问题? 还是沙箱中配置错误?

您可以在http://mvnrepository.com/artifact/javax.jms/jms的 maven存储库浏览器中看到工件的大小为0字节。 似乎对该工件有一些问题或特殊策略。

jms 1.1 jar在默认的maven存储库中不可用-您需要添加对其他公共存储库之一的引用(例如,jboss一个)

该答案有详细信息https://stackoverflow.com/a/5272660/672586

该错误可能是由于log4j可传递依赖项引起的。 您可以按如下所示排除此类依赖项。

<dependency>
   <groupId>log4j</groupId>
   <artifactId>log4j</artifactId>
   <version>1.2.17</version>
   <exclusions>
    <exclusion>
        <artifactId>jms</artifactId>
        <groupId>javax.jms</groupId>
    </exclusion>
    <exclusion>
        <artifactId>jmxri</artifactId>
        <groupId>com.sun.jmx</groupId>
    </exclusion>
    <exclusion>
        <artifactId>jmxtools</artifactId>
        <groupId>com.sun.jdmk</groupId>
        </exclusion>
    </exclusions>
</dependency>

暂无
暂无

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

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