I have been using Maven for decades.

I have a question about import scope.

My mental model of this feature has always been the following:

Suppose my project has:

<dependencyManagement>
  <dependencies>
    <dependency>
      <!-- coordinates -->
      <type>*pom*</type>
      <scope>*import*</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

My understanding is that the imported pom's <dependencyManagement> element
is effectively "copied over" this dependency "by value" and then the
resulting pom is interpreted afterward.

Now consider an imported pom that defines a <properties> element.  (Ideally
it shouldn't but consider one just the same.)

I am seeing a situation that I don't understand.  I am importing a pom as
above, and its property definition is somehow affecting my importing pom.
That is, property references in my pom ${likeThis} are being affected by
the imported pom's value for the likeThis property.

I didn't think that anything other than the <dependencyManagement> element
was relevant during an import.

Obviously my mental model of how importing works is broken.  What am I
missing?  What other parts of the imported pom are there that can affect my
pom?  I didn't find any information on this in the Maven documentation.

Thanks,
Best,
Laird

Reply via email to