如何解决从Maven中央存储库下载guice3.0工件
| 我正在尝试将struts2网络应用程序从guice2.0升级到guice3.0。 我正在尝试使用Maven码头进行测试。 我已经成功升级了pom.xml以使用3.0版本的正确版本和groupId,但是如果我调用mvn jetty:run 我看到它正在尝试下载 guice-3.0-no_deps.jar 哪个会引发构建错误,并且找不到中央存储库? 如果我不包含任何guice扩展名,则不会收到此错误。 有任何想法吗? 谢谢解决方法
我也将此问题发布到了guice用户组。
这是我收到的答案。
guice-3.0-no_deps.jar是用于编译扩展程序的构建时工件,但在运行时不是必需的-它不在Maven Central上,因为Guice团队不希望人们依赖误在此“超级jar”上。这些扩展对guice-3.0-no_deps.jar有一个可选的依赖关系(以便它们可以编译),但在运行时情况下,它们对guice-3.0.jar也具有一个非可选的依赖关系。
表现良好的Maven插件应该看到no_deps依赖项是可选的,如果缺少,则不会抛出构建错误,因此这听起来像是Jetty插件中的错误。要解决Jetty错误,可以显式隐藏此依赖关系,如下所示:
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-struts2</artifactId>
<version>3.0</version>
<exclusions>
<exclusion>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>3.0</version>
</dependency>
请注意,我们无法在原始build pom中执行此操作,因为在进行原始编译时我们仍然需要no_deps依赖项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。