当前位置: 首页 > 知识库问答 >
问题:

如何使用依赖关系的maven uber pom?

满言
2023-03-14

我有一个简单的maven插件,它依赖于父pom文件。父pom文件有十个(10个)第三方jar依赖项,这些依赖项已经使用以下命令安装在我的本地回购中。

mvn install:install-file -Dfile=foo.jar -DgroupId=com.foo.bar -DartifactId=foo1.jar -Dversion=1.1.0.0 -Dpackaging=jar

类似地,我已经安装了所有其他9个罐子到我的本地回购。这是uber pom.xml文件。

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.foo.bar</groupId>
  <artifactId>maven-uber-pom</artifactId>
  <packaging>pom</packaging>
  <version>1.1.0.0</version>
  <name>maven-uber-pom</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>com.foo.bar</groupId>
      <artifactId>foo1.jar</artifactId>
      <version>1.0.0.0</version>
    </dependency>
    <dependency>
      <groupId>com.foo.bar</groupId>
      <artifactId>foo2.jar</artifactId>
      <version>1.0.0.0</version>
    </dependency>
    <dependency>
      <groupId>com.foo.bar</groupId>
      <artifactId>foo3.jar</artifactId>
      <version>1.0.0.0</version>
    </dependency>
    <dependency>
      <groupId>com.foo.bar</groupId>
      <artifactId>foo4.jar</artifactId>
      <version>1.0.0.0</version>
    </dependency>
   :
   :
  </dependencies>
<project>
  <parent>
    <groupId>com.foo.bar</groupId>
    <artifactId>maven-uber-pom</artifactId>
    <version>1.1.0.0</version>
  </parent> 
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.foo.bar</groupId>
  <artifactId>foo-maven-plugin</artifactId>
  <packaging>maven-plugin</packaging>
  <version>1.1.0.0</version>
  <name>foo bar plugin</name>
  <url>http://maven.apache.org</url>
</project>
mvn install                  <command>

我也尝试使用uber-pom作为一个插件依赖,因为我是绝望的。有什么想法吗?

共有1个答案

仲孙阳
2023-03-14

默认情况下,Maven将首先在本地存储库中搜索依赖项。如果找不到,它将在全局/自定义存储库上搜索(默认情况下,只设置了中央存储库)。您在Uberpom上运行了mvn install吗?如果是的话,检查一下它的路径在你的本地回购中是否正确。

我不确定您是否忘记了将其与示例相适应,但“uberpom”的定义具有com.foo.bar作为groupId,而在插件上的用法具有com.oracle.weblogic.test。可能是打错了。我还假设所有的第三方依赖都安装正确(检查它们的pom)。

为此,请检查settings.xml中是否设置了 。通常你不一定要设置这个,但放手一搏。

我不是任何专家,但我希望它有帮助!

 类似资料:
  • 问题内容: 我一直在尝试找到如何使用spaCy获取依赖关系树,但是我找不到如何获取树的任何内容,仅能找到如何导航树的内容。 问题答案: 事实证明,该树可通过文档中的令牌使用。 您是否要查找树的根,可以只浏览文档: 为了浏览树,令牌具有API来通过子代

  • 编写的PHP扩展需要需要依赖另外一个扩展,在PHP-X中可以调用Extension->require来实现。 PHPX_EXTENSION() { Extension *ext = new Extension("test", "0.0.1"); ext->require("swoole"); ext->require("sockets"); return ext;

  • 依赖关系 这是一个非常轻量级的模块,没有其他依赖项。希望大家在JVM或Android上使用以太坊的RLP编码的项目时会选择使用这个模块,而不再编写自己的实现。

  • 依赖关系 ABI一个非常轻量级的模块,唯一的第三方依赖是 Bouncy Castle,用于hash加密 (Spongy Castle on Android)。 最后希望java和安卓开发者,在JVM或Android上有以太坊ABI合作的项目时会选择使用这个模块,而不是再编写自己的实现。

  • 问题内容: 我有一个依赖关系如下: 当我部署一切正常时,这将拉下另一个引发ClassDefNotFound的依赖项。 我添加了两个依赖项,如下所示: 并且仍然面临着同样的问题,即:MVN带来下来不 我该如何解决? 编辑: 添加; 问题答案: 您可能有一个传递依赖项,另一个依赖项取决于您不需要的版本。 要获得所有直接和传递依赖关系的概述,请尝试: mvn依赖项:树 如果您发现同一依赖项的不同版本之间

  • 问题内容: 如果我的包裹有这些依赖 而包有这些依赖 的最新版本是,的第一次运行将安装在。 如何强制纱线将其用于包装? 我的理解是,使用可以做到这一点。 我的问题的摘要可能是:纱线创建可重复的确定性安装,但是如何自定义该安装? 问题答案: 如果实际上您确实对要接受的版本具有过分的限制,则 可以 使用yarn覆盖它们。 更新编辑: 从1.0开始,Yarn现在正式支持 “ resolutions”块。因