簡體   English   中英

Maven 插件依賴項無法解析來自內部存儲庫的依賴項

[英]Maven plugin dependencies couldn't resolve dependency from internal repo

我正在創建父pom。 在那里我們定義了 build->plugin->dependencies。 它可以從 Maven 獲取依賴項,但無法從我們的內部 Maven 存儲庫獲取依賴項,出現以下錯誤

[錯誤] 無法執行目標 org.apache.maven.plugins:maven-antrun-plugin:1.2:check (validate) on project parent-pom:目標 org.apache.maven.plugins:maven-antrun-plugin 的執行驗證:1.2:check failed: Plugin org.apache.maven.plugins:maven-antrun-plugin:1.2 或其依賴項之一無法解析:在中央找不到工件 org.tools:build-tool:jar:1.0 ( https://repo.maven.apache.org/maven2 ) -> [幫助 1]

它試圖從https://repo.maven.apache.org/maven2而不是我們內部的 Maven 存儲庫中提取依賴項。 我已經配置了存儲庫和依賴管理,它仍然試圖從https://repo.maven.apache.org/maven2獲取而不是去我們的內部存儲庫。

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.global</groupId>
  <artifactId>parent-pom</artifactId>
  <version>1.0.0</version>
  <packaging>pom</packaging>


    <repositories>
        <repository>
            <id>archiva.global</id>
            <name>Internal Release Repository</name>
            <url>https://archiva.global.com/repository/internal</url>
        </repository>
        <repository>
            <id>archiva.snapshots</id>
            <name>Internal Snapshots Repository</name>
            <url>https://archiva.global.com/repository/snapshots</url>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
        </repository>
    </repositories>

    <distributionManagement>
        <repository>
            <id>archiva.internal</id>
            <name>Internal Release Repository</name>
            <url>https://archiva.global.com/repository/internal</url>
        </repository>
        <snapshotRepository>
            <id>archiva.snapshots</id>
            <name>Internal Snapshots Repository</name>
            <url>https://archiva.global.com/repository/snapshots</url>
        </snapshotRepository>
    </distributionManagement>

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.2</version>
        ...
        <dependencies>
          <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.7.1</version>
          </dependency>
          <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant-launcher</artifactId>
            <version>1.7.1</version>
          </dependency>
          <dependency>
            <groupId>org.tools</groupId>
            <artifactId>build-tool</artifactId>
            <version>1.0</version>
          </dependency>
         </dependencies>
      </plugin>
    </plugins>
  </build>
  ...
</project>

有什么我錯過的嗎? 僅構建插件依賴項未解決,因為項目依賴項正在從我們的內部存儲庫中解決。

這是 Maven 的默認行為。

在定義<repository> .... </repository>確保使用您的內部存儲庫覆蓋<id>central</id> 如果你不這樣做,maven 仍然會聯系 maven central 來解決依賴關系,如果你在 VPN 后面,沒有適當的代理設置就不會工作。 下面的清單將從您的內部存儲庫中獲取您的所有 deps。

<repositories>
    <repository>
        <id>central</id>
        <name>Internal Release Repository</name>
        <url>https://archiva.global.com/repository/internal</url>
    </repository>
    <repository>
        <id>archiva.snapshots</id>
        <name>Internal Snapshots Repository</name>
        <url>https://archiva.global.com/repository/snapshots</url>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
        </snapshots>
    </repository>
</repositories>

用於從您的內部存儲庫下載插件

<pluginRepositories>
<pluginRepository>
  <id>central</id>
  <name>Central Internal Repo</name>
  <url>https://archiva.global.com/repository/internal</url>
  <layout>default</layout>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
  <releases>
    <updatePolicy>never</updatePolicy>
  </releases>
</pluginRepository>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM