web-dev-qa-db-ja.com

Maven:解決できない親POMおよび 'parent.relativePath'が間違ったローカルPOMを指している

Maven 3を使用してアプリケーションを実行していますが、次のエラーが表示されます。

[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: Failure to find com.topdesk:tis-parent:pom:3.
4 in https://repo.maven.Apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 3, column 11
at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:416)
at org.Apache.maven.DefaultMaven.collectProjects(DefaultMaven.Java:663)
    at org.Apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.Java:654)
    at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:243)
    at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:154)
    at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:582)
    at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:214)
    at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:158)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:497)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.Java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.Java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.Java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:356)
[ERROR]
[ERROR]   The project com.topdesk.test.junitcategorizer:junitcategorizer:0.0.1-SNAPSHOT (D:\Masters\thesis related papers and tools\junitcategorizer\pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM: Failure to find com.topdesk:tis-parent:pom:3.4 in https://repo.maven.Apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM@ line 3, column 11 -> [Help 2]org.Apache.maven.model.resolution.UnresolvableModelException: Failure to find com.topdesk:tis-parent:pom:3.4 in https://repo.maven.Apache.org/maven2 was cachedin the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
    at org.Apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.Java:187)
    at org.Apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.Java:236)
    at org.Apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultodelBuilder.Java:898)
    at org.Apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.Java:750)
    at org.Apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.Java:309)
    at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:463)
    at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:432)
    at org.Apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.Java:396)
    at org.Apache.maven.DefaultMaven.collectProjects(DefaultMaven.Java:663)
    at org.Apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.Java:654)
    at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:243)
    at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:154)
    at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:582)
    at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:214)
    at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:158)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:497)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.Java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.Java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.Java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:356)
Caused by: org.Eclipse.aether.resolution.ArtifactResolutionException: Failure to find com.topdesk:tis-parent:pom:3.4 in https://repo.maven.Apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
    at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.Java:459)
    at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.Java:262)
    at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.Java:239)
    at org.Eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.Java:295)
    at org.Apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.Java:183)
    ... 22 more
Caused by: org.Eclipse.aether.transfer.ArtifactNotFoundException: Failure to find com.topdesk:tis-parent:pom:3.4 in https://repo.maven.Apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
    at org.Eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.Java:232)
    at org.Eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.Java:206)
    at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.Java:599)
    at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.Java:518)
    at org.Eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.Java:436)
    ... 26 more

次の親pomファイル(その一部)があります。

<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.topdesk</groupId>
<artifactId>tis-parent</artifactId>
<version>3.4</version>
</parent>

<groupId>com.topdesk.test.junitcategorizer</groupId>
<artifactId>junitcategorizer</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>JUnitCategorizer</name>

<modules>
<module>junitcategorizer.instrument</module>
<module>junitcategorizer.examples</module>
<module>junitcategorizer.reporter.maven</module>
<module>junitcategorizer.reporter.maven.site</module>
<module>junitcategorizer.cutdetection</module>
</modules>
<organization>
    <name>TOP Informatie Systemen bv</name>
    <url>http://www.topdesk.com/</url>
</organization>

<properties>
    <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>utf-8</project.reporting.outputEncoding>
    <surefire.version>2.12</surefire.version>
</properties>

<prerequisites>
    <maven>3.0</maven>
</prerequisites>

次の子モジュールpomファイルがあります。

 <modelVersion>4.0.0</modelVersion>
 <parent>
<artifactId>junitcategorizer</artifactId>
<groupId>com.topdesk.test.junitcategorizer</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>junitcategorizer.cutdetection</artifactId>
<name>Analysis of parameters for the CUT detection algorithm</name>
<description>Analysis of parameters for the CUT detection algorithm</description>
<dependencies>
<dependency>
    <groupId>com.topdesk.test.junitcategorizer</groupId>
    <artifactId>junitcategorizer.instrument</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

親pomファイルの以下の部分にコメントしようとしました(それが正しいかどうかわかりません)、このエラーはなくなり、ビルドは this エラーで失敗します.

<parent>
<groupId>com.topdesk</groupId>
<artifactId>tis-parent</artifactId>
<version>3.4</version>
</parent>

私を助けてください!

ありがとう

22
Srinu

Mavenマルチモジュールプロジェクトの通常のレイアウトは次のとおりです。

parent
├── pom.xml
├── module
    ├── pom.xml

このレイアウトを使用していることを確認してください。

さらに:

  1. relativePathは奇妙に見えます。の代わりに '..'

    <relativePath>..</relativePath>
    

    代わりに「../」を試してください。

    <relativePath>../</relativePath>
    

    標準レイアウトを使用している場合は、relativePathも削除できます。これは私がいつもしていることであり、コマンドラインで親(およびすべてのモジュール)または単一のモジュールのみをビルドすることもできます。

  2. モジュールパスが間違っている可能性があります。親では、モジュールを次のように定義します。

    <module>junitcategorizer.cutdetection</module>
    

    アーティファクト識別子ではなく、子モジュールのフォルダーの名前を指定する必要があります。 junitcategorizer.cutdetectionがフォルダの名前ではない場合、それに応じて変更します。

お役に立てば幸いです。

EDIT他の投稿を見て、そこに答えました。

次の方法で試すことができます、

 <parent>
    <groupId></groupId>
    <artifactId></artifactId>
    <version></version>
  </parent>

そのため、親jarがリポジトリから取得されます。

5
Baskar Felix

したがって、私の場合、上記のすべてのオプションを試した後、VPN(会社のファイアウォール)であることに気づきました。一度接続してcmd:run install spring-boot:runを実行しました。問題は解決しました。手順1:mavenが正しく構成されているかどうかを確認します。ステップ2:settings.xmlが正しくマッピングされているかどうかを確認します。ステップ3:ファイアウォールの背後にいるかどうかを確認し、それに応じてリポジトリのURLをマッピングします。ステップ4:クリーンインストールの実行spring-boot:ステップ5の実行:問題は解決しました。

1
Venugopal

Javaバージョンに競合がありました。 Mavenに1.8を使用した後に解決されました。

1
VikasBhat