親Art-pomがリモートArtifactoryリポジトリに保存されています。親-pomは、私の親-pomの親を含むいくつかのスナップショットリポジトリを持つ<repositories>
タグを定義します。Maven:リポジトリから親pomをダウンロードすると、リポジトリタグが削除されます
私は今、私の親POMを使用してプロジェクトを構築しようとすると、mavenは私のArtifactoryリポジトリ内の親POMを正しく見つけてダウンロードします。
最終的に自分のローカルリポジトリに終わる親POMに<repositories>
タグがないため、ビルドプロセス中にスナップショットの依存関係が見つからない場合があります。
ローカルにインストールするには、mvn clean install
をparent-pomのディレクトリに実行しても問題ありませんが、リポジトリからダウンロードするとタグを取り除いたようです。
これは私にはバグのようですが、多分私は何かを見逃しており、これは意図された動作ですか?もしそうなら、なぜですか? parent-pomにリポジトリを定義できるようにするための回避策がありますか? artifactoryサーバに保存されているよう
親-POM:
<?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">
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.M2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>example-parent</artifactId>
<version>1.0.1</version>
<packaging>pom</packaging>
<name>example-parent</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>example-project</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<distributionManagement>
<repository>
<id>example-releases</id>
<name>example-releases</name>
<url>http://com.example/blabla</url>
</repository>
<snapshotRepository>
<id>example-snapshots</id>
<name>example-snapshots</name>
<url>http://com.example/blabla</url>
</snapshotRepository>
</distributionManagement>
</project>
親-ポンポン私の子プロジェクト構築時にリポジトリからダウンロードしたとして:(でもタグをいくつかの空白を含む
<?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">
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.M2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>example-parent</artifactId>
<version>1.0.1</version>
<packaging>pom</packaging>
<name>example-parent</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>example-project</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
<distributionManagement>
<repository>
<id>example-releases</id>
<name>example-releases</name>
<url>http://com.example/blabla</url>
</repository>
<snapshotRepository>
<id>example-snapshots</id>
<name>example-snapshots</name>
<url>http://com.example/blabla</url>
</snapshotRepository>
</distributionManagement>
</project>
を以前に使用されていた)
は、ローカルレポや「-UをクリーンインストールMVN」からそれを削除しようとした仮想リポジトリの設定パネルでそれをオフにすることができますか? –
はい、artifactoryからpomをダウンロードしますが、スプリングブートの依存関係が見つからないため、子プロジェクトのコンパイルに失敗します。後でローカルリポジトリを見ると、タグが再び削除されたことがわかります。 親pomをローカルにインストールしてから、コンパイルしようとすると問題なく動作しますが、実用的ではありません。 – mhlz