【问题标题】:Why doesn't my maven build get the jar from my repository?为什么我的 Maven 构建没有从我的存储库中获取 jar?
【发布时间】:2011-07-27 02:11:42
【问题描述】:

我正在尝试为来自供应商和我编写的类的一些 jar 文件设置 Maven 存储库。

它适用于我放入的 oracle jar 文件,但不适用于我自己的 jar。

我设置了一个 apache 网络服务器来充当 mvn 存储库。我将目录设置为显示文件的索引(选项索引)。

这是我根 pom.xml 中的 sn-p 的内容

  <repositories>
    <repository>
      <id>mycompany-external-repo</id>
      <url>http://svn.mycompany.com/mvn</url>
    </repository>
  </repositories>

这是一个项目的 pom.xml 的 sn-p 和依赖项

    <dependency>
        <groupId>com.oracle.aq</groupId>
        <artifactId>aqapi</artifactId>
        <version>10.2.0.1.0</version>
    </dependency>

    <dependency>
        <groupId>com.mydomain</groupId>
        <artifactId>middleware</artifactId> 
        <version>1.0</version>
    </dependency>       

mvn 仓库的 URL 如下:

http://svn.mycompany.com/mvn/com/oracle/aq/aqapi/10.2.0.1.0/aqapi-10.2.0.1.0.jar    

http://svn.mycompany.com/mvn/com/mydomain/middleware/1.0/middleware-1.0.jar

我的 jar 文件有什么问题?

这是 mvn 安装的结果

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building core 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://svn.mycompany.com/mvn/com/mydomain/middleware/1.0/middleware-1.0.pom
Downloading: http://repo1.maven.org/maven2/com/mydomain/middleware/1.0/middleware-1.0.pom
[WARNING] The POM for com.mydomain:middleware:jar:1.0 is missing, no dependency information available

【问题讨论】:

  • 假设文件已实际安装,您向我们展示的 sn-ps 没有任何问题:-/
  • 你能在构建中包含 Maven 的输出吗?只是它说“无法解析工件”,工件的路径等......
  • 我需要在我的存储库中创建一个 .pom 文件吗?

标签: java build jar maven


【解决方案1】:

Maven 首先在 repo 的预期位置查找 pom,然后再查找任何其他工件,没有它,它无法获取它们,因为它不知道如何处理工件的任何依赖项。

这就是为什么最好使用像Artifactory 这样的东西,它有一个功能齐全的开源版本。 Artifactory 会在您部署工件时自动为您生成 pom 信息,并且知道如何管理您的部署尝试。而且,它会做的不仅仅是为您的工件提供一个站点。

【讨论】:

    【解决方案2】:

    你必须设置一个镜像,我假设你使用的是 maven 2 或 3:

    <mirror>
          <id>server_id</id>
          <name>Maven Repository running in your company</name>
          <url>http://svn.mycompany.com/mvn/</url>
          <mirrorOf>*</mirrorOf>
    </mirror>     
    

    【讨论】:

      猜你喜欢
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 2021-01-03
      • 2014-12-08
      • 1970-01-01
      • 2019-11-07
      • 1970-01-01
      • 2014-08-03
      相关资源
      最近更新 更多