I've run into an issue where the current behavior of building a project model in Maven 2.0.x seems wrong. In the case of inheritance of dependency scope, there is a default value of "compile". This default will override the parent scope. This part is correct. But if the dependency scope is not specified, the default value CAN be overridden by the dependency management section of the pom. So in one case, the default value can't be overridden, but in the other case it can.
I'm thinking that both dependencyManagement and inheritance should function the same in Maven 3. If the developer doesn't specify a value, the default value should be applied to the model (prior to any inheritance or management). This would mean that dependencyManagement dependency container will not be joined with a dependency container, unless the scope specified in one matched the default scope in the other. Thoughts? Shane