Ich habe solche Projektstruktur:Maven-Release-Plugin und Arquillian
Parent
ProjectA
ProjectB
ProjectA erzeugt ein Ohr. Der auf Arquillian basierende Test von ProjectB hängt vom ProjektA ab (zusätzliche Bereitstellung mit ProjectA ear). Maven Installation Ziel funktioniert gut, aber release:prepare
und release:perform
sind - nicht. Das Maven-Release-Plugin auf einer der ersten Phasen erhöht die Version des Projekts. Und wenn ProjectB eine Bereitstellung von ProjectA Konstrukten kann es nicht ein Artefakt mit einer neuen Version finden (aber es existiert in Arbeitsplatz - nicht in lokalen Repo):
java.lang.RuntimeException: Could not invoke deployment method: public static org.jboss.shrinkwrap.api.spec.EnterpriseArchive com.....SchemaCreationTest.createFleetEmulator()
[INFO] at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:434)
[INFO] at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
[INFO] at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367)
[INFO] at org.jboss.shrinkwrap.resolver.impl.maven.bootstrap.MavenRepositorySystem.resolveDependencies(MavenRepositorySystem.java:121)
[INFO] at org.jboss.shrinkwrap.resolver.impl.maven.MavenWorkingSessionImpl.resolveDependencies(MavenWorkingSessionImpl.java:228)
[INFO] at org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.using(MavenStrategyStageBaseImpl.java:71)
[INFO] at org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.withoutTransitivity(MavenStrategyStageBaseImpl.java:58)
[INFO] at org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.withoutTransitivity(MavenStrategyStageBaseImpl.java:40)
I Artefakte mit einem solchen Befehl beheben:
Maven.configureResolver().offline().loadPomFromFile("pom.xml").importRuntimeAndTestDependencies().resolve().withoutTransitivity().asResolvedArtifact();
PS mvn release:prepare
funktioniert gut, wenn ich die Option dryRun einstelle.
Wie kann ich Artefakte auflösen, wenn Maven Release: Prepare funktioniert?