web-dev-qa-db-ja.com

アーティファクトが見つからなかったための解決不可能な親POMと 'parent.relativePath'が間違ったローカルPOMを指している

私はMavenが初めてです。

私はmaven3でビルドしようとしているプロジェクトを1つ持っています。

コマンドmvn -X clean installを実行すると、エラーが発生しました。

[root@localhost]# mvn -X clean install
Apache Maven 3.0.4 (r1232337; 2012-01-17 14:14:56+0530)
Maven home: /usr/local/maven
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/Java-1.6.0-openjdk-1.6.0.0.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-279.9.1.el6.x86_64", Arch: "AMD64", family: "unix"
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from /usr/local/maven/conf/settings.xml
[DEBUG] Reading user settings from /root/.m2/settings.xml
[DEBUG] Using local repository at /root/.m2/repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10 for /root/.m2/repository
[INFO] Scanning for projects...
[DEBUG] Could not find metadata com.test.ctrl:ctrl-build:0.0.17-SNAPSHOT/maven-metadata.xml in local (/root/.m2/repository)
[ERROR] The build could not read 1 project -> [Help 1]
org.Apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for org.openstack:openstack-rhel-rpms:2012.1-SNAPSHOT: Could not find artifact com.test.ctrl:ctrl-build:pom:0.0.17-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ org.openstack:openstack-rhel-rpms:2012.1-SNAPSHOT, /root/test/devenv/openstack-rhel/pom.xml, line 8, column 13

        at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:363)
        at org.Apache.maven.DefaultMaven.collectProjects(DefaultMaven.Java:636)
        at org.Apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.Java:585)
        at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:234)
        at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:156)
        at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:537)
        at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:196)
        at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:141)
        at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
        at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
        at Java.lang.reflect.Method.invoke(Method.Java:616)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.Java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.Java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.Java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:352)
[ERROR]
[ERROR]   The project org.openstack:my-tar:2012.1-SNAPSHOT (/root/test/devenv/mytar/pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM for org.openstack:openstack-rhel-rpms:2012.1-SNAPSHOT: Could not find artifact com.test.ctrl:ctrl-build:pom:0.0.17-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ org.openstack:openstack-rhel-rpms:2012.1-SNAPSHOT, /root/test/devenv/openstack-rhel/pom.xml, line 8, column 13 -> [Help 2]
org.Apache.maven.model.resolution.UnresolvableModelException: Could not find artifact com.test.ctrl:ctrl-build:pom:0.0.17-SNAPSHOT
        at org.Apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.Java:159)
        at org.Apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.Java:813)
        at org.Apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.Java:664)
        at org.Apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.Java:310)
        at org.Apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.Java:232)
        at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:410)
        at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:379)
        at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:343)
        at org.Apache.maven.DefaultMaven.collectProjects(DefaultMaven.Java:636)
        at org.Apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.Java:585)
        at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:234)
        at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:156)
        at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:537)
        at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:196)
        at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:141)
        at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
        at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
        at Java.lang.reflect.Method.invoke(Method.Java:616)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.Java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.Java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.Java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:352)
Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: Could not find artifact com.test.ctrl:ctrl-build:pom:0.0.17-SNAPSHOT
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.Java:538)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.Java:216)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.Java:193)
        at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.Java:286)
        at org.Apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.Java:155)
        ... 22 more
Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Could not find artifact com.test.ctrl:ctrl-build:pom:0.0.17-SNAPSHOT
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.Java:528)
        ... 26 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.Apache.org/confluence/display/MAVEN/UnresolvableModelException

pom.xmlを確認しましたが、何が問題なのか理解できません。私のpom.xmlからのいくつかの行は以下の通りです。

  1 <?xml version="1.0"?>
  2 <project xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.Apache.org/POM/4.0.0"
  3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4   <modelVersion>4.0.0</modelVersion>
  5
  6 <parent>
  7     <groupId>org.openstack</groupId>
  8     <artifactId>openstack-rhel-rpms</artifactId>
  9     <version>2012.1-SNAPSHOT</version>
 10     <relativePath>../openstack-rhel</relativePath>
 11 </parent>
 12
 13     <groupId>org.openstack</groupId>
 14     <artifactId>my-tar</artifactId>
 15     <version>2012.1-SNAPSHOT</version>
 16   <packaging>pom</packaging>
 17   <name>my tar</name>
 18

解決できない親POM:アーティファクトが見つかりませんでした のようなstackoverflowのいくつかの質問の解決策もチェックしますが、問題の解決には役立ちませんでした。

この質問に関連する詳細情報が必要な場合は、お知らせください。

20
Nilesh

ファイル/root/test/devenv/openstack-rhel/pom.xmlが必要です

このファイルには、次の要素が必要です。

<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.openstack</groupId>
    <artifactId>openstack-rhel-rpms</artifactId>
    <version>2012.1-SNAPSHOT</version>
    <packaging>pom</packaging>
</project>
7
Fabricio Lemos

私は同じ問題に直面しました。モジュールプロジェクトで親の相対パスを設定すると、問題が解決しました。

つかいます <relativePath>../Parent Project Name/pom.xml</relativePath>

12
Sasidhar

Mavenリリースプラグインを使用して、このような問題が発生しました。相対パス(つまり、子モジュール../parent/pom.xmlの親pom)を使用した解決は、このシナリオでは機能しないようでした。Nexusリポジトリでリリースされた親pomを探し続けます。親pomをモジュールの親フォルダーに移動すると、これは解決しました。

1
Bryji

同じ問題がありました。

親pomファイルはローカルリポジトリで利用できましたが、mavenは中央リポジトリまたはrelativePath(相対パスにファイルがありませんでした)からのダウンロードに失敗しました。

判明したのは、ローカルリポジトリに"_ remote.repositories"というファイルがあり、これがこの動作を引き起こしていたことです。完全なローカルリポジトリからこの名前のすべてのファイルを削除した後、モジュールをビルドできます。

1
user3036363

/root/.m2/settings.xmlに言及した方法。

しかし、私の場合は、Mavenの設定で設定するsettings.xmlが見つかりませんでした。 enter image description here mavenは、settings.xmlで構成されたremote_repositoryからrelative_path pom.xmlを検索します

1
Jp Naidu

プロジェクトのpom.xmlファイルで、

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>X.X.X.RELEASE</version>
<relativePath> ../PROJECTNAME/pom.xml</relativePath>
</parent>

Relativepathを同じMAVENプロジェクトPOMファイルにポイントすると、問題が解決しました。

0

私の場合、理由は簡単なタイプミスでした。

<parent>
    <groupId>org.sringframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.5.RELEASE</version>
</parent>

groupId org.s(p)ringframeworkに文字がないと、このエラーが発生します。

0
Jan Bodnar

Settings.xmlがあることを確認してください。誤って削除してしまった場合も、同じ問題が発生しました。

0
SB_jd