All,
I am running eclipse:eclipse on a project and getting the
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-eclipse-plugin:2.9:eclipse (default-cli) on
project installer: Execution default-cli of goal
org.apache.maven.plugins:maven-eclipse-plugin:2.9:eclipse failed: For artifact
{org.jvnet.staxex:stax-ex:null:jar}: The version cannot be empty. -> [Help 1]
After some debugging, I notice the following warning
[WARNING] Invalid POM for com.sun.xml.stream.buffer:streambuffer:jar:0.4,
transitive dependencies (if any) will not be available, enable debug logging
for more details: Some problems were encountered while processing the POMs:
[ERROR] 'dependencies.dependency.version' for org.jvnet.staxex:stax-ex:jar is
missing. @ line 7, column 17
[ERROR] 'dependencies.dependency.version' for activation:activation:jar is
missing. @ line 11, column 17
I pulled up the pom file for com.sun.xml.stream.buffer:streambuffer:jar:0.4,
and it is in-fact missing versions for its dependancies.
I figured I would include a newer version of streambuffer.jar in my pom
explicitly (which has correct pom) but for some reason, maven is still
choosing the transitive version of the dependency over my explicitly declared
one.
Removing it:
com.sun.xml.stream.buffer:streambuffer:jar:0.7:compile (removed - nearer found:
0.4)
This project is a child project of another project.
TWO QUESTIONS:
In what cases will maven choose a transitive dependency version over an
explicitly declared one in the pom?
Is there a way to make maven less sensitive - to missing versions in poms?
I am currently running:
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19
13:51:28+0000)