2017-01-05 12 views
0

pom依存関係にSNAPSHOTバージョンがある依存関係管理セクションを宣言するmavenプロジェクトを作成しようとしています。しかし、SNAPSHOT以外のバージョンを設定しない限りビルドを拒否します。SNAPSHOTバージョンを指定すると解決できないインポートPOM

私のsettings.xmlは、このミラーを定義し、それは私が必要とするすべてのスナップショットのバージョンが含まれています。ここでは

<mirrors> 
    <mirror> 
    <id>public</id> 
    <url>http://repoHost:8081/nexus/content/groups/public/</url> 
    <mirrorOf>*</mirrorOf> 
    </mirror> 
</mirrors> 

は、私がポンポンの関連セクションであることを信じるものである:ここでは

<properties> 
    <myArtifactId.version>1.0.0-SNAPSHOT</myArtifactId.version> 
</properties> 

<dependencyManagement> 
    <dependencies> 
    <dependency> 
     <groupId>myGroupId</groupId> 
     <artifactId>myParentArtifactId</artifactId> 
     <version>${myParentArtifactId.version}</version> 
     <type>pom</type> 
     <scope>import</scope> 
    </dependency> 
    </dependencies> 
</dependencyManagement> 

<dependencies> 
    <dependency> 
    <groupId>myGroupId</groupId> 
    <artifactId>subproject1</artifactId> 
    </dependency> 
    <dependency> 
    <groupId>myGroupId</groupId> 
    <artifactId>subproject2</artifactId> 
    </dependency> 
    <dependency> 
    <groupId>myGroupId</groupId> 
    <artifactId>subproject3</artifactId> 
    </dependency> 
    <dependency> 
    <groupId>myGroupId</groupId> 
    <artifactId>subproject4</artifactId> 
    </dependency> 
    <dependency> 
    <groupId>myGroupId</groupId> 
    <artifactId>subproject5</artifactId> 
    </dependency> 
    <dependency> 
    <groupId>myGroupId</groupId> 
    <artifactId>subproject6</artifactId> 
    </dependency> 
</dependencies> 

<distributionManagement> 
    <snapshotRepository> 
    <id>mySnapshots</id> 
    <url>http://repoHost:8081/nexus/content/repositories/my-snapshots</url> 
    </snapshotRepository> 
    <repository> 
    <id>myReleases</id> 
    <url>http://repoHost:8081/nexus/content/repositories/my-releases</url> 
    </repository> 
</distributionManagement> 

上記のpomスニペットと一致するように行と列の参照が更新されたエラーが表示されます。

PS > mvn -U -X -e clean 
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00) 
Maven home: C:\dev\java\apache-maven-3.3.9\bin\.. 
Java version: 1.8.0_112, vendor: Oracle Corporation 
Java home: C:\dev\java\jdk1.8.0_112\jre 
Default locale: sv_SE, platform encoding: Cp1252 
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos" 
[DEBUG] Created new class realm maven.api 
[DEBUG] Importing foreign packages into class realm maven.api 
... 
[INFO] Scanning for projects... 
[DEBUG] Using mirror public (http://repoHost:8081/nexus/content/groups/public/) for central (https://repo.maven.apache.org/maven2). 
[DEBUG] Extension realms for project exampleGroupId:ptexample:jar:1.0.0-SNAPSHOT: (none) 
[DEBUG] Looking up lifecyle mappings for packaging jar from ClassRealm[plexus.core, parent: null] 
[DEBUG] Could not find metadata myGroupId:myParentArtifactId:1.0.0-SNAPSHOT/maven-metadata.xml in local (C:\Users\cb2\.m2\repository) 
[ERROR] [ERROR] Some problems were encountered while processing the POMs: 
[ERROR] Non-resolvable import POM: Could not find artifact myGroupId:myParentArtifactId:pom:1.0.0-SNAPSHOT @ line 7, column 21 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject1:jar is missing. @ line 18, column 19 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject2:jar is missing. @ line 22, column 19 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject3:jar is missing. @ line 26, column 19 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject4:jar is missing. @ line 30, column 19 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject5:jar is missing. @ line 34, column 19 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject6:jar is missing. @ line 38, column 19 
@ 
[ERROR] The build could not read 1 project -> [Help 1] 
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs: 
[ERROR] Non-resolvable import POM: Could not find artifact myGroupId:myParentArtifactId:pom:1.0.0-SNAPSHOT @ line 7, column 21 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject1:jar is missing. @ line 18, column 19 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject2:jar is missing. @ line 22, column 19 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject3:jar is missing. @ line 26, column 19 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject4:jar is missing. @ line 30, column 19 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject5:jar is missing. @ line 34, column 19 
[ERROR] 'dependencies.dependency.version' for myGroupId:subproject6:jar is missing. @ line 38, column 19 

     at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:422) 
     at org.apache.maven.graph.DefaultGraphBuilder.collectProjects(DefaultGraphBuilder.java:419) 
     at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor(DefaultGraphBuilder.java:410) 
     at org.apache.maven.graph.DefaultGraphBuilder.build(DefaultGraphBuilder.java:83) 
     at org.apache.maven.DefaultMaven.buildGraph(DefaultMaven.java:491) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:219) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) 
     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:498) 
     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 exampleGroupId:ptexample:1.0.0-SNAPSHOT (C:\projects\bitbucket\EW\pt-example\pom.xml) has 7 errors 
[ERROR]  Non-resolvable import POM: Could not find artifact myGroupId:myParentArtifactId:pom:1.0.0-SNAPSHOT @ line 7, column 21 -> [Help 2] 
org.apache.maven.model.resolution.UnresolvableModelException: Could not find artifact myGroupId:myParentArtifactId:pom:1.0.0-SNAPSHOT 
     at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:197) 
     at org.apache.maven.model.building.DefaultModelBuilder.importDependencyManagement(DefaultModelBuilder.java:1192) 
     at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:455) 
     at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:421) 
     at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:620) 
     at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:411) 
     at org.apache.maven.graph.DefaultGraphBuilder.collectProjects(DefaultGraphBuilder.java:419) 
     at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor(DefaultGraphBuilder.java:410) 
     at org.apache.maven.graph.DefaultGraphBuilder.build(DefaultGraphBuilder.java:83) 
     at org.apache.maven.DefaultMaven.buildGraph(DefaultMaven.java:491) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:219) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) 
     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:498) 
     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: Could not find artifact myGroupId:myParentArtifactId:pom:1.0.0-SNAPSHOT 
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444) 
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246) 
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223) 
     at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:294) 
     at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:193) 
     ... 23 more 
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact myGroupId:myParentArtifactId:pom:1.0.0-SNAPSHOT 
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:434) 
     ... 27 more 
[ERROR]  'dependencies.dependency.version' for myGroupId:subproject1:jar is missing. @ line 18, column 19 
[ERROR]  'dependencies.dependency.version' for myGroupId:subproject2:jar is missing. @ line 22, column 19 
[ERROR]  'dependencies.dependency.version' for myGroupId:subproject3:jar is missing. @ line 26, column 19 
[ERROR]  'dependencies.dependency.version' for myGroupId:subproject4:jar is missing. @ line 30, column 19 
[ERROR]  'dependencies.dependency.version' for myGroupId:subproject5:jar is missing. @ line 34, column 19 
[ERROR]  'dependencies.dependency.version' for myGroupId:subproject6:jar is missing. @ line 38, column 19 
[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 

出力のリンクがいくつかの手掛かりを提供しましたが、とにかく問題を解決できませんでした。私はちょうど特定のバージョンを使用して更新する場合、それは仕事を得ることができます

<properties> 
    <myArtifactId.version>1.0.0</myArtifactId.version> 
</properties> 

しかしmyParentArtifactId依存性にreferendeを排除すると、指定したすべての依存関係にSNAPSHOTのバージョンを指定しても、「初期で失敗します上記の "myGroupId:myParentArtifactId"のようなアーティファクト "-error"を見つけることができませんでした。

Mavenが使用しているリポジトリを参照すると、SNAPSHOTのバージョンが表示されます。問題は、そこにあるスナップショットが見つからないのはなぜですか?

答えて

2

そして、私は実際にそれに対する答えを見つけることができたこの質問策定ながら:

<profiles> 
    <profile> 
    <id>development-build</id> 
    <activation> 
     <activeByDefault>true</activeByDefault> 
    </activation>  
    <repositories> 
     <repository> 
     <id>snaps</id> 
     <url>http://repoHost:8081/nexus/content/repositories/my-snapshots</url> 
     <snapshots> 
      <enabled>true</enabled> 
      <checksumPolicy>warn</checksumPolicy> 
      <updatePolicy>always</updatePolicy> 
     </snapshots> 
     </repository> 
    </repositories> 
    </profile> 
</profiles> 

そして今:

を私は、スナップショットを検索する場所を定義して、私のsettings.xmlにビルドプロファイルを追加しましたすべてが期待どおりに機能します。

「ラバーダッキング」は最高です! :-)

+1

これは間違った解決策です。代わりにSNAPSHOTリポジトリをパブリックグループに正しく処理するように、Nexusの設定を変更する必要があります。 – khmarbaise

+0

ありがとう@khmarbaise!私はそれを調べます。私がクライアント側の解決策を探すことになったのは、私だけがこの問題を抱えていたことでした。昨日まで、他のマシンでエラーを再現することができませんでした。それから、ローカルのMavenキャッシュを消去すると、この余分なリポジトリ設定がないと、どのマシンにもエラーが表示されることがわかりました。しばらく前にNexusサーバで何かが変わって、ここで仕事を始めました(私はこの場所ではかなり新しいです)。ヒントをもう一度ありがとう! – cb2

関連する問題