Hi all,

I recently saw the jfokus talk on maven 4 and heard the desire for more people 
to try it out and report back, so here goes. I tried RC2 and RC3 on an open 
source project I maintain (https://github.com/soartech/jsoar) and ran into two 
issues (note this works fine with maven 3.9.8, which is what I currently have 
on my machine otherwise). I did not modify the poms at all to try to take 
advantage of any new features. I ran "mvn clean verify" with Java 17 on windows 
11.

I got the following output for RC3 (RC2 is similar):

PS D:\git\jsoar> mvn clean verify
[INFO]
[INFO] 1 problem was encountered while building the effective settings (use -e 
to see details)
[INFO]
[INFO] Scanning for projects...
[ERROR] Some problems were encountered while processing the POMs
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project com.soartech:jsoar-soarunit:5.1.2-SNAPSHOT 
(D:\git\jsoar\jsoar-soarunit\pom.xml) has 1 error
[ERROR]     'repositories.repository.[repo].url' contains an unsupported 
expression (only expressions starting with 'project.basedir' or 
'project.rootDirectory' are supported). @ line 75, column 13
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the '-e' 
switch
[ERROR] Re-run Maven using the '-X' switch to enable verbose output
[ERROR]
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException

The part it is complaining about is this block in one of the submodule (or I 
should say subproject now) poms:

    <!-- local repo for sml dependencies -->
    <repositories>
        <repository>
            <id>repo</id>
            
<url>file://${project.baseUri}/sml-setup/repo</url<file://$%7bproject.baseUri%7d/sml-setup/repo%3c/url>>
            <releases>
                <updatePolicy>always</updatePolicy>
            </releases>
        </repository>
    </repositories>

I'm using a variable here to point to a directory that contains a dependency 
that isn't published (I had to make it myself). I don't know if this is a maven 
4 bug, or something that is no longer supported, or something that was never 
supposed to be supported but happened to work anyway in maven 3. I could use a 
relative path instead, unless there is some other official way to do this?

Thanks,
Bob

Reply via email to