次の構造を持つマルチモジュールmavenプロジェクトをNexusサーバーにデプロイしようとしています(p2サポートとスナップショットとして構成されたターゲットリポジトリと適切なsettings.xml資格情報を使用):
- PARENT PROJECT (空、pom 定義のみ)
- モジュール プロジェクト A
- モジュール プロジェクト B
mvn install は満足のいくビルドを生成します。問題は、PARENT PROJECT を展開しようとすると、次のエラーが表示されることです。
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ PARENT PROJECT ---
[INFO] Installing C:\PATH-TO-PARENT-PROJECT\pom.xml to C:\PATH-TO LOCAL-REPO\PATH-TO-PARENT-PROJECT\1.0.0-SNAPSHOT\PARENT-PROJECT-1.0.0-SNAPSHOT.pom
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project PARENT PROJECT: Failed to deploy artifacts: Could not find artifact PARENT PROJECT:pom:1.0.0-20131022.102942-1 in deployment-server (http://DEPLOYMENT-SRV/nexus/content/repositories/snapshots) -> [Help 1]
mvn deploy を実行して各サブモジュールを個別にデプロイできますが、PARENT 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">
<modelVersion>4.0.0</modelVersion>
<groupId>ID</groupId>
<artifactId>PARENT-PROJECT</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<tycho-version>0.18.1</tycho-version>
</properties>
<modules>
<module>MODULE PROJECT A</module>
<module>MODULE PROJECT B</module>
</modules>
<repositories>
<repository>
<id>eclipse-juno</id>
<layout>p2</layout>
<url>http://download.eclipse.org/releases/juno</url>
</repository>
<repository>
<id>snapshots</id>
<url>http://DEPLOYMENT-SRV/nexus/content/repositories/snapshots/.meta/p2</url>
<layout>p2</layout>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<resolver>p2</resolver>
<pomDependencies>consider</pomDependencies>
<environments>
<environment>
<os>${build.os}</os>
<ws>${build.ws}</ws>
<arch>${build.arch}</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86</arch>
</environment>
</environments>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptors>
<descriptor>src/assemble/bin.xml</descriptor>
</descriptors>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.15</version>
<executions>
<execution>
<id>test</id>
<phase>test</phase>
<configuration>
<testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
</configuration>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<distributionManagement>
<snapshotRepository>
<uniqueVersion>true</uniqueVersion>
<id>deployment</id>
<url>http://DEPLOYMENT-SRV/nexus/content/repositories/snapshots</url>
<layout>p2</layout>
</snapshotRepository>
</distributionManagement>
</project>
ありがとうございました!