At least Maven Dependency Plugin seems to cause some problems, I noticed
after writing you when calling

  mvn dependency:tree
  mvn dependency:analyze

with or without previous clean or compile.

I got to admit that your project structure looks somewhat strange, but
still there seems to be something not okay with the version number
resolution, like you said. I am by no means an expert in the depths of
Maven. I wish one of the developers would take a look and make a more
authoritative statement.

-- 
Alexander Kriegisch
https://scrum-master.de


Roy Lenferink schrieb am 28.10.2020 16:19 (GMT +07:00):

> Hi Alexander,
> 
> Thanks for thinking with me!
> 
> I forgot to mention that I _do_ make use of the maven-dependency-plugin with
> the 
> copy-dependencies goal to copy my dependencies to the target/dependencies/
> folder. This is being
> executed in the clean phase [1]. If I move it to e.g. the compile phase then
> the compile phase starts
> failing. Could it be the maven-dependency-plugin being the one throwing the
> error?
> 
> Regards,
> Roy
> 
> [1] https://s.apache.org/rlenferink-mvn-1
> 
> On 2020/10/28 01:22:39, "Alexander Kriegisch" <alexan...@kriegisch.name> 
> wrote:
> 
>> Thanks Roy,
>> 
>> I noticed that the actual build lifecycle (goals like validate, compile,
>> install) works as expected. The problem seems to be in the clean lifecycle,
>> i.e. possibly somewhere in the Maven Clean Plugin. No matter if I use the
>> default plugin version 3.5 or upgrade to 3.1.0, the problem occurs when
>> calling 'mvn clean' in directory 'productB'. Maybe you should raise an issue.
>> -- 
>> Alexander Kriegisch
>> https://scrum-master.de
>> 
>> 
>> Roy Lenferink schrieb am 28.10.2020 02:18 (GMT +07:00):
>> 
>> > Hi Alexander,
>> > 
>> > I just created a test project sketching the scenario I am having. See the
>> > following repo:
>> > https://github.com/rlenferink/maven-properties-project
>> > 
>> > I put the instructions for testing in the README. 
>> > 
>> > In my text example there where indeed some mismatches, I hope the repo with
>> > sample data
>> > resolves those unclarities.
>> > 
>> > Hope someone can clarify whether this is expected Maven behavior or not.
>> > 
>> > Best regards,
>> > Roy
>> > 
>> > On 2020/10/25 02:39:12, "Alexander Kriegisch" <alexan...@kriegisch.name>
>> wrote:
>> > 
>> >> Hello Roy.
>> >> 
>> >> Your textual description is nice and contains a lot of information, but
>> >> why not attach or link to a simple but complete reproducer project? The
>> >> reason I am asking is that in order to reproduce this, every reader
>> >> needs to carefully try to recreate your situation manually. Errors in
>> >> doing so are likely, especially given the following facts:
>> >> 
>> >>   -- Your directory layout is rather unconventional.
>> >>   -- Your sample artifact naming is cryptic.
>> >>   -- You submodule artifact names differ from directory names.
>> >>   -- You seem to have an artifact named productA-sub1, but also one
>> >>      named productA-submodule1. Are they the same or different? If they
>> >>      are the same, why would you define a dependency on the parent
>> >>      module which probably has POM packaging?
>> >> 
>> >> Let the POMs speak for themselves, please. Thank you.
>> >> 
>> >> Cheers
>> >> -- 
>> >> Alexander Kriegisch
>> >> https://scrum-master.de
>> >> 
>> >> 
>> >> Roy Lenferink schrieb am 23.10.2020 17:11 (GMT +07:00):
>> >> 
>> >> > Hello fellow Maven users,
>> >> > 
>> >> > At $work a problem occurs with evaluation the ${project.parent.version}
>> from
>> >> a
>> >> > child pom.
>> >> > 
>> >> > The product structure in question:
>> >> > 
>> >> > Product A:
>> >> > /pom.xml <= productA-parent (version 10.2.4-SNAPSHOT)
>> >> > 
>> >> > /submodule1/pom.xml <= productA-sub1
>> >> > => submodule1 uses productA-parent as parent
>> >> > => submodule1 contains submodule2 in its modules section =>
>> >> > <module>../submodule2</module>
>> >> > 
>> >> > /submodule2/pom.xml <= productA-sub2
>> >> > => submodule2 uses submodule1 as parent with relativePath ../submodule1/
>> >> > 
>> >> > Submodule2 has a dependency which is activated in a profile which refers
>> to
>> >> > submodule1:
>> >> > <dependencyManagement>
>> >> >   <dependencies>
>> >> >     <dependency>
>> >> >       <groupId>com.work.productA</groupId>
>> >> >       <artifactId>productA-submodule1</artifactId>
>> >> >       <version>${project.parent.version}</version>     <= this property
>> is
>> >> >       incorrectly evaluated
>> >> >       <type>pom</type>
>> >> >       <scope>import</scope>
>> >> >     </dependency>
>> >> >   </dependencies>
>> >> > </dependencyManagement>
>> >> > 
>> >> > <dependency>
>> >> >   <groupId>com.example.productA</groupId>
>> >> >   <artifactId>productA-submodule1</artifactId>
>> >> >   <version>${project.parent.version}</version>     <= this property is
>> >> >   incorrectly evaluated
>> >> >   <type>pom</type>
>> >> > </dependency>
>> >> > 
>> >> > Product B:
>> >> > /pom.xml <= productB-parent (version 0.0.6-SNAPSHOT)
>> >> > => this uses the productA-sub2 as its parent
>> >> > 
>> >> > /submodule1/pom.xml <= productB-sub1
>> >> > => this uses the productB-parent as its parent.
>> >> > 
>> >> > The problem I am facing is that I expect that productB-sub1 is able to
>> use
>> >> > productA-sub2 as
>> >> > parent. Because productA-sub2 contains a dependency to productA-sub1 I
>> >> expect
>> >> > that dependency
>> >> > will be evaluated correctly. However, it is not and the
>> >> > ${project.parent.version} in productA-sub2
>> >> > is evaluated to the version of productB-parent.
>> >> > 
>> >> > The extensive error message:
>> >> > ================================
>> >> > [ERROR] Non-resolvable import POM: Failure to find
>> >> > com.work.productA-sub1:pom:0.0.6-SNAPSHOT in <company repo> was cached 
>> >> > in
>> >> the
>> >> > local repository, resolution will not be reattempted until the update
>> >> interval
>> >> > of <company repo> has elapsed or updates are forced @
>> >> > productA-sub2:[unknown-version],
>> >> >
>> >>
>> /home/user/.m2/repository/com/work/productA-sub2/10.2.4-SNAPSHOT/productA-sub2-10.2.4-SNAPSHOT.pom,
>> >> > line 231, column 19 -> [Help 2]
>> >> > ================================
>> >> > 
>> >> > It seems that project.parent.version is evaluated to the version of
>> >> > productB-parent
>> >> > (0.0.6-SNAPSHOT) instead of the version of productA-parent
>> >> (10.2.4-SNAPSHOT).
>> >> > 
>> >> > How can I ensure that the project.parent.version property resolves to 
>> >> > the
>> >> > correct value (productA
>> >> > version => 10.2.4-SNAPSHOT) instead of the productB-parent version
>> >> > (0.0.6-SNAPSHOT) ?
>> >> > 
>> >> > Hope someone can help me out.
>> >> > 
>> >> > Best regards,
>> >> > Roy
>> >> > 
>> >> > 
>> >> > ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>> >> > For additional commands, e-mail: users-h...@maven.apache.org
>> >> > 
>> >> > 
>> >> 
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>> >> For additional commands, e-mail: users-h...@maven.apache.org
>> >> 
>> >> 
>> > 
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>> > For additional commands, e-mail: users-h...@maven.apache.org
>> > 
>> > 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>> For additional commands, e-mail: users-h...@maven.apache.org
>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
> 
> 

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

Reply via email to