I have this code:
@Deployment(name = "default")
public static WebArchive getTestArchive() {
File[] file = Maven.resolver().loadPomFromFile("../pom.xml")
.importCompileAndRuntimeDependencies()
.resolve("org.restlet.gae:org.restlet").withTransitivity().asFile();
System.out.println("FILE>>>>>>>>" + file.toString());
return ShrinkWrap.create(WebArchive.class, "simple.war")
.addClass(org.restlet.ext.servlet.ServerServlet.class)
.setWebXML("web.xml")
.addAsWebInfResource("appengine-web.xml")
.addAsWebInfResource("logging.properties");
}
However when the test is run it throws this error:
Caused by: org.jboss.shrinkwrap.resolver.api.ResolutionException: Unable to get version for dependency specified by org.restlet.gae:org.restlet:compile, it was not provided in neither <dependencyManagement> nor <dependencies> sections.
at org.jboss.shrinkwrap.resolver.impl.maven.task.ResolveVersionFromMetadataTask.execute(ResolveVersionFromMetadataTask.java:91)
at org.jboss.shrinkwrap.resolver.impl.maven.PomEquippedResolveStageBaseImpl.resolveVersion(PomEquippedResolveStageBaseImpl.java:85)
at org.jboss.shrinkwrap.resolver.impl.maven.ResolveStageBaseImpl.resolveDependency(ResolveStageBaseImpl.java:189)
at org.jboss.shrinkwrap.resolver.impl.maven.ResolveStageBaseImpl.resolveDependency(ResolveStageBaseImpl.java:184)
at org.jboss.shrinkwrap.resolver.impl.maven.ResolveStageBaseImpl.resolve(ResolveStageBaseImpl.java:78)
at org.jboss.shrinkwrap.resolver.impl.maven.ResolveStageBaseImpl.resolve(ResolveStageBaseImpl.java:43)
... 58 more
My goal is that all the dependencies of the POM to be resolved so (hopefully) the Restlet arquillian test would work.
The reason behind your error seems pretty obvious. Your code is lacking a version number of the restlet artifact.
It should looks like:
File[] file = Maven.resolver().loadPomFromFile("../pom.xml")
.importCompileAndRuntimeDependencies()
.resolve("org.restlet.gae:org.restlet:2.3.0") // Notice version number
.withTransitivity().asFile();
Alternatively you can specify version inside <dependencyManagement>
section, but your error message tells, that you forgot about it also.