Hi,

While trying to migrate a project from Maven 2 to Maven 3, I
encountered a problem, the essence of which can be demonstrated by the
following simple example.
Consider the following POM:

<project>
    <modelVersion>4.0.0</modelVersion>

    <groupId>test</groupId>
    <artifactId>A</artifactId>
    <version>1.0</version>

    <dependencies>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-xmlbeans</artifactId>
            <version>1.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-codegen</artifactId>
            <version>1.5</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.geronimo.specs</groupId>
                    <artifactId>geronimo-stax-api_1.0_spec</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</project>

Running 'mvn dependency:resolve' for this POM yields a strange result.
Namely, it says that that my module depends on
geronimo-stax-api_1.0_spec with 'compile' scope.
This artifact is a transitive dependency of both axis2-xmlbeans and
axis2-codegen, and, according to rules for transitive dependencies, I
would expect the resolved scope of geronimo-stax-api_1.0_spec to be
'provided'. With Maven 2 I get exactly the result I expect.

Should I raise a JIRA ticket for this issue, or am I missing some
point, and this is the desired behaviour in the new version of Maven?

For reference - I used Maven version 3.0.4. I also checked the above
with the latest version (2.6) of dependency plugin - result was the
same.

Best regards,
Dmitry Batrak

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to