Well this:

The following artifacts could not be resolved: 
org.project:project:pom:${revision} (absent):

Says that maven does not resolve ${revision} to a value.

I want to set project version for all modules and their children only in one 
place - in properties of the main pom.xml

I’ve tried to accomplish the same myself, but gave upp! Even if you have a top 
pom and all other artifacts are sub-modules to that, it does not work! I spent 
a lot of time trying to make this work, but finally just gave upp. And I have 
been using maven for a very long time!

If anyone know a way to accomplish this without writing a tool that generates 
POM:s, please share it here :-).

And NO, don’t ever get an idea to write a tool that generates POM:s! That was a 
joke OK! :-)



Tommy Svensson
to...@natusoft.se



Från: PavelTurk <pavelturk2...@gmail.com>
Svara: Maven Users List <users@maven.apache.org>
Datum: 16 juni 2024 at 16:21:00
Till: users@maven.apache.org <users@maven.apache.org>
Ämne:  Problem building only one subproject with ${revision}

Hello all,  

I have a project (https://github.com/PavelTurk/maven-revision-test ) with 
subprojetcs and I want to set project version for all  
modules and their children only in one place - in properties of the main 
pom.xml. The project  has the following structure:  

Project  
|-- project-api  
|-- project-foo  
    |-- project-foo-bar (uses project-api)  

In Project/pom.xml I have:  

    <properties>  
        <revision>1.0.0</revision>  
    </properties>  

    <modules>  
        <module>project-foo</module>  
        <module>project-api</module>  
    </modules>  

    <dependencyManagement>  
        <dependencies>  
            <dependency>  
                <groupId>org.project</groupId>  
                <artifactId>project-api</artifactId>  
                <version>${revision}</version>  
            </dependency>  
        </dependencies>  
    </dependencyManagement>  

In Project/project-foo/project-foo-bar/pom.xml I have:  

<dependencies>  
    <dependency>  
        <groupId>org.project</groupId>  
        <artifactId>project-api</artifactId>  
    </dependency>  
</dependencies>  

When I build whole project (via mvn clean install in Project folder) then all 
modules are built without any problems.  
However, when I want to build only ONE SUBPROJECT - project-foo-bar (via mvn 
clean install in Project/project-foo/project-foo-bar) I get:  

[ERROR] Failed to execute goal on project project-foo-bar: Could not resolve 
dependencies for project org.project.foo:project-foo-bar:jar:1.0.0: Failed to 
collect dependencies at org.project:project-api:jar:1.0.0: Failed to read 
artifact descriptor for org.project:project-api:jar:1.0.0: The following 
artifacts could not be resolved: org.project:project:pom:${revision} (absent): 
org.project:project:pom:${revision} was not found in 
https://repo.maven.apache.org/maven2 during a previous attempt. This failure 
was cached in the local repository and resolution is not reattempted until the 
update interval of central has elapsed or updates are forced -> [Help 1]  

Could anyone say how to fix it?  

Best regards, Pavel  

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

Reply via email to