If you add <relativePath>../pom.xml</relativePath>
Into the parent section of child-alpha, does it resolve any issue your having? Specifically with having to do mvn -N install on the parent 1st. On 11 April 2012 16:14, Brain Dump <braindump2...@gmail.com> wrote: > I was able to compile with no problems on 2.2.1. The only pom.xml changes I > had to make to get this (almost) working on 3.0.4 was to add version > numbers for plugins that didn't have them specified, move plugins under > <reporting></reporting> into <build></build>, and run mvn -N install on the > parent pom -- although that's what I'm trying to avoid. > > I don't know if the issues you're running into are related, or caused by > something else. > > Any thoughts from anyone about either Mike's issues, or mine? > > Thanks! > > On Tue, Apr 10, 2012 at 12:37 PM, mike digioia <mpd...@gmail.com> wrote: > >> Hi, >> >> I just posted a similar issue I am having with the same kind of errors. Did >> you ever get this to compile on the 2.2.1? I have built two machines, one >> with 2.2.1 and the other one with 3.0.4. I have different problems with >> each. Main issue with 3.0.4 is it could not locate some of my dependency >> jars. So I copied them from the 2.2.1 release system. But still issues. >> >> The other main issue is using extension to java/javax with the jmdns.jar. >> So I modified the classes inside this jar to avoid the problem but still >> have issues. On the 2.2.1 system it does not see my jar, even though it is >> inside the pom and was successful with the mvn install-file command. >> >> On Tue, Apr 10, 2012 at 12:19 PM, Brain Dump <braindump2...@gmail.com >> >wrote: >> >> > Hi everyone, >> > >> > I'm trying to upgrade my project from Maven 2.2.1 to Maven 3.0.4 but am >> > running into problems with a dependency resolution. I spent a full day >> > trying to research this by looking through Maven documentation and >> similar >> > posts, but I'm still stuck. I posted on stackoverflow ( >> > http://stackoverflow.com/q/10092772/1324379) but realized that this >> Maven >> > User List might be a better place to ask for help. Hope that's okay, and >> > thanks in advance for your help. >> > >> > My project structure is as follows: >> > >> > pom.xml (acme-parent) >> > child-alpha >> > +-----> pom.xml >> > >> > In addition, I have the following files in my own repository: >> > >> > >> > >> http://maven.my-own-repo.com/acme/child-dep-jdk15/maven-metadata-local.xml >> > >> > >> > >> http://maven.my-own-repo.com/acme/child-dep-jdk15/1.0/child-dep-jdk15-1.0.jar >> > >> > >> > >> http://maven.my-own-repo.com/acme/child-dep-jdk15/1.0/child-dep-jdk15-1.0.pom >> > >> > child-alpha/pom.xml in turn has a profile dependency on my own >> > acme:child-dep-jdk15, which has been separately built into a jar file and >> > has its own .pom file specifying a parent that is the same acme-parent >> > parent as child-alpha. >> > >> > Here are excerpts from the relevant files: >> > >> > acme-parent pom.xml: >> > >> > <?xml version="1.0" encoding="UTF-8"?> >> > <project> >> > <modelVersion>4.0.0</modelVersion> >> > <groupId>acme</groupId> >> > <artifactId>acme-parent</artifactId> >> > <name>Acme Parent Project</name> >> > <version>1</version> >> > <packaging>pom</packaging> >> > >> > <properties>...</properties> >> > >> > <modules> >> > <module>child-alpha</module> >> > </modules> >> > >> > <repositories> >> > <repository> >> > <id>acme-repo</id> >> > <url>http://maven.my-own-repo.com</url> >> > </repository> >> > <repository> >> > <id>central</id> >> > <url>http://repo1.maven.org/maven2</url> >> > </repository> >> > </repositories> >> > >> > <pluginRepositories>...</pluginRepositories> >> > >> > <build> >> > <plugins>...</plugins> >> > </build> >> > >> > <dependencies>...</dependencies> >> > </project> >> > >> > >> > child-alpha pom.xml: >> > >> > <project> >> > <modelVersion>4.0.0</modelVersion> >> > <parent> >> > <groupId>acme</groupId> >> > <artifactId>acme-parent</artifactId> >> > <version>1</version> >> > </parent> >> > <artifactId>child-alpha</artifactId> >> > <name>Child Alpha Project</name> >> > <version>1.0</version> >> > <packaging>jar</packaging> >> > >> > <scm>...</scm> >> > >> > <properties>...</properties> >> > >> > <build> >> > <resources>...</resources> >> > <plugins>...</plugins> >> > </build> >> > >> > <profiles> >> > <profile> >> > <id>jdk15</id> >> > <activation> >> > <activeByDefault>true</activeByDefault> >> > <jdk>1.5</jdk> >> > </activation> >> > <dependencies> >> > <dependency> >> > <groupId>acme</groupId> >> > <artifactId>child-dep-jdk15</artifactId> >> > <version>1.0</version> >> > </dependency> >> > </dependencies> >> > </profile> >> > </profiles> >> > >> > <dependencies>...</dependencies> >> > </project> >> > >> > >> > child-dep-jdk15-1.0.pom: >> > >> > <project> >> > <modelVersion>4.0.0</modelVersion> >> > <parent> >> > <groupId>acme</groupId> >> > <artifactId>acme-parent</artifactId> >> > <version>1</version> >> > </parent> >> > <groupId>acme</groupId> >> > <artifactId>child-dep-jdk15</artifactId> >> > <name>Acme Child Dependency</name> >> > <version>1.0</version> >> > <packaging>jar</packaging> >> > >> > <build>...</build> >> > >> > <dependencies>...</dependencies> >> > </project> >> > >> > When I tried to build child-alpha (while in the child-alpha directory), I >> > ran the following command: >> > >> > mvn -U -e clean install >> > >> > And I got the following log messages and stack trace (extraneous messages >> > removed): >> > >> > Downloading: >> > http://maven2.my-own-repo.com/acme/acme-parent/1/acme-parent-1.pom >> > Downloading: >> > http://repo1.maven.org/maven2/acme/acme-parent/1/acme-parent-1.pom >> > >> > [...] >> > >> > [ERROR] Failed to execute goal on project child-alpha: Could not >> > resolve dependencies for project acme:child-alpha:jar:1.0: [...] >> > >> > Caused by: org.apache.maven.project.DependencyResolutionException: >> > Could not resolve dependencies for project acme:child-alpha:jar:1.0: >> [...] >> > >> > Caused by: >> > org.sonatype.aether.collection.DependencyCollectionException: Failed to >> > collect dependencies for [...] >> > at >> > >> > >> org.sonatype.aether.impl.internal.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:258) >> > at >> > >> > >> org.sonatype.aether.impl.internal.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:308) >> > at >> > >> > >> org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:150) >> > ... 23 more >> > Caused by: org.sonatype.aether.resolution.ArtifactDescriptorException: >> > Failed to read artifact descriptor for acme:child-dep-jdk15:jar:1.0 >> > at >> > >> > >> org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:331) >> > at >> > >> > >> org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:186) >> > at >> > >> > >> org.sonatype.aether.impl.internal.DefaultDependencyCollector.process(DefaultDependencyCollector.java:412) >> > at >> > >> > >> org.sonatype.aether.impl.internal.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:240) >> > ... 25 more >> > Caused by: >> > org.apache.maven.model.resolution.UnresolvableModelException: Could not >> > find artifact acme:acme-parent:pom:1 in acme-repo ( >> > http://maven.my-own-repo.com) >> > at >> > >> > >> org.apache.maven.repository.internal.DefaultModelResolver.resolveModel(DefaultModelResolver.java:126) >> > 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.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:322) >> > ... 28 more >> > Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: >> > Could not find artifact acme:acme-parent:pom:1 in acme-repo ( >> > http://maven.my-own-repo.com) >> > 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.apache.maven.repository.internal.DefaultModelResolver.resolveModel(DefaultModelResolver.java:122) >> > ... 33 more >> > Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: >> > Could not find artifact acme:acme-parent:pom:1 in acme-repo ( >> > http://maven.my-own-repo.com) >> > at >> > >> > >> org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:947) >> > at >> > >> > >> org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:941) >> > at >> > >> > >> org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:669) >> > at >> > >> > >> org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:60) >> > at >> > >> > >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >> > at >> > >> > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >> > at java.lang.Thread.run(Thread.java:680) >> > >> > While using Maven 2, I've never needed the acme-parent pom.xml at the >> > following location: >> > http://maven2.my-own-repo.com/acme/acme-parent/1/acme-parent-1.pom >> > >> > The reason we don't have the parent pom.xml on our own repo is is that we >> > have a script used when creating version control branches that changes >> some >> > <properties></properties> values in acme-parent pom.xml depending on >> which >> > branch we're on, so it would be complicated to put that pom.xml in the >> repo >> > and keep it correctly updated for all the different branches we're trying >> > to build concurrently with our continuous integration server. >> > >> > In Maven 2, when doing builds of child-alpha, Maven would have no trouble >> > finding acme-parent pom.xml one directory up, i.e. with a relative path >> of >> > ../pom.xml, so it would never try going to my repositories to find it. >> > Having the parent pom.xml in my local checkout only and not having it in >> > the repo worked fine in Maven 2. >> > >> > However, when I tried building child-alpha under Maven 3.0.4, the >> exception >> > above occurred. At first, I thought I needed to explicitly set the >> > relativePath within the <parent></parent> tags at the top of >> child-alpha's >> > pom.xml, but that didn't fix it -- and acme-parent's pom.xml is indeed >> > already in the default relativePath of ../pom.xml, so there's no need to >> > explicitly set it. >> > >> > Then, I tried commenting out the child-dep-jdk15 dependency within the >> > <profiles></profiles> section of child-alpha's pom.xml. The child-alpha >> > maven build completes successfully with this dependency commented out. >> > >> > I don't understand why child-alpha won't build in Maven 3 when the >> > child-dep-jdk15 dependency is in place. If Maven was able to correctly >> find >> > the acme-parent pom.xml initially (per the <parent></parent> block at the >> > top), why is it now trying to download it from the repos when processing >> > the child-dep-jdk15 dependency? Have I configured something incorrectly, >> > and if so, how should I fix it? >> > >> > One other thing: if I first run `mvn -N install` in the same directory as >> > acme-parent's pom.xml, and then try building child-alpha, then the >> > child-alpha build succeeds, even when keeping the dependency >> > child-dep-jdk15 in the code. After I run that command, I'm able to verify >> > acme-parent-1.pom is in my local .m2 directory. While this workaround >> may >> > be okay for individual developers, it'd be a problem for our continuous >> > integration server, which needs to be able to run concurrent builds for >> > different branches. >> > >> > I'd strongly prefer not to have to reconfigure my repository to host the >> > acme-parent pom.xml due to the version control branching changes I've >> > mentioned above. >> > >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org